Jump to content

Alberto.

Membru
  • Posts

    153
  • Joined

  • Last visited

  • Days Won

    5

Everything posted by Alberto.

  1. Salut. In primul rand, verifici daca respectivul se afla la lucru. Te orientezi, depinde de fiecare job in parte. Apoi te folosesti de functia: https://wiki.sa-mp.com/wiki/DisableRemoteVehicleCollisions Nu vreau sa iti dau mura in gura, dar nici sa te las cu nelamuriri. Daca mai ai vreo intrebare poti lasa un reply, bafta.
  2. Ai facut conexiunea cu baza de date?
  3. Mda, multumesc pentru ajutor. Se poate da t/c. M-am incurcat la o chestie asa simpla..
  4. Problema intalnita (descriere): Am un sistem de pariuri facut de mine, iar la fiecare meci jucat ora:50, foreach-ul care verifica daca cineva a castigat sau nu imi verifica doar pe cel cu id-ul 0. Pe restul jucatorilor nu ii ia in considerare.Ero(area / rile) / warning-(ul / urile): Nu sunt erori sau avertismente.Liniile de cod / sursa / script-ul(obligatoriu): Imagini / Video (optional): Nu cred ca e necesar.Ati incercat sa rezolvati singur?: Am incercat sa imi dau seama care e problema, dar nu reusesc. Poate aveti voi vreo solutie, multumesc anticipat tuturor.
  5. pune 'count++' sub linia ' GivePlayerWeaponEx(i, gun, ammo); ' unde ai tu count-ul actual,ai linia ' if(GetPlayerState(i) == PLAYER_STATE_PASSENGER) ' careface verificarea daca player-ul este intr-un vehicul ca pasager. Asta ar fii problema pentru care nu ar creste, altfel nu imi pot da seama de ce nu merge, bafta. Edit: la mine iti daduse -1, deoarece ti-am pus ' count-1 ' ca sa te excluda pe tine, dar nu a crescut.
  6. incearca asa, stringul trebuie formatat sub linia cand variabila 'count' creste, altfel va lua mereu valoarea cu care e initiata. CMD:areagun(playerid, params[]) // adaugat 'count' { if(gPlayerLogged[playerid] == 0) return SendClientMessage(playerid, COLOR_RED2, "Nu poti folosi nicio comanda pentru ca nu esti logat."); if(PlayerInfo[playerid][pAdmin] >= 2) { new range,gun,ammo,string[256],sendername[25],count=0; if(sscanf(params, "iii", range, gun, ammo)) return SCM(playerid,COLOR_WHITE,"Usage: /areagun [range] [weapon id] [ammo]"); { GetPlayerName(playerid, sendername, sizeof(sendername)); if(gun < 1||gun > 46||gun==19||gun==20||gun==21||gun==45) return SCM(playerid,COLOR_WHITE,"Invalid weapond ID."); if(ammo <1||ammo > 1000) return SCM(playerid,COLOR_WHITE,"Invalid ammo (1-1000)."); foreach(Player,i) { if(IsPlayerConnected(i)) { if(ProxDetectorS(range, playerid, i)) { GivePlayerWeaponEx(i, gun, ammo); if(GetPlayerState(i) == PLAYER_STATE_PASSENGER) { new gun2,tmp; GetPlayerWeaponData(i,5,gun2,tmp); #pragma unused tmp if(gun2)SetPlayerArmedWeapon(i,gun2); else SetPlayerArmedWeapon(i,0); count++; } } } } format(string, sizeof(string), "AdmCmd: {FFFFFF}%s has given gun %d with %d bullets to all players on range %d. (%d players)", sendername,gun,ammo,range, count-1); ABroadCast(COLOR_ADMCOMMANDS,string,1); } } else return SendClientMessage(playerid, COLOR_ERROR, "You are not authorized to use this command."); return 1; }
  7. format(cNameclans, sizeof(string), 20, "%s", inputtext);//error 035: argument type mismatch (argument 1) new verificaClan = MySQLCheckClan( cNameclans[playerid] );//error 028: invalid subscript (not an array or too many subscripts): "cNameclans" aici, in loc de 'sizeof(string)' pui 'sizeof(cNameClans)';
  8. are legatura cu 'vLocked'. Cauta in gm legat de el, ar trebui sa gasesti un return cu, 'RemovePlayerFromVehicle' sau dupa caz 'ClearAnimations'. Acolo faci verificarea daca masina e a lui.
  9. nu am inteles mai exact ce vrei sa faci, dar exista functia 'OnPlayerClickTextDraw' in caz ca nu stiai, poate imi spui mai detaliat ca sa te pot ajuta.
  10. Nu e suficient ce ai facut tu, trebuie sa preiei din baza de date datele. ex: new query[500]; format(query,100,"SELECT * FROM users WHERE `name`='%s' AND `Pin`='%s'",PlayerInfo[playerid][pNormalName],PlayerInfo[playerid][pPin]); new Cache: pin = mysql_query(SQL,query); if(cache_get_row_count() > 0) { cache_get_field_content(0, "name", PlayerInfo[playerid][pNormalName], SQL, 130); PlayerInfo[playerid][pPin] = cache_get_field_content_int(0, "Pin"); }
  11. Ai pus niste taburi in plus la dialog. Aceste taburi se noteaza cu '\t', scoate ce e in plus.
  12. Poti cere ajutor si fara sa te dai rotund. Tu vii aici si spui ca 'recent te-ai apucat de ridicat blocuri dar nu stii din ce se face cimentul', daca intelegi ce spun, Puteai sa vii si sa zici ca esti incepator (bata in script) si nu stii sa faci un dialog, noi intelegeam( ca doar toti am trecut prin asta) si iti explicam cum ii explica mamaie cainelui de ce nu e bine sa se cace in casa: 1. Primul pas, definesti dialog-ul. #define DIALOG_RULES 1572 ( unde DIALOG_RULES = numele dialogului, 1572 = id-ul dialogului) 2. Creezi comanda: CMD:rules(playerid, params[]) { ShowPlayerDialog(playerid, DIALOG_RULES, DIALOG_STYLE_MSGBOX, "REGULI", "1. Nu ai voie sa..\n 2.Ai voie sa..\n 3.Alte reguli...", "Am inteles", "Nu am inteles ca sunt prost"); }
  13. Salut. Te sfatuiesc sa incepi cu ceva mai usor, daca spui ca esti incepator te va depasi si innebuni sa incerci deja sa faci unele sisteme. 1. Ai functia OnPlayerKeyStateChange care verifica pe ce tasta apasa player-ul, de aici te voi lasa sa te informezi. 2. In pawn sunt niste functii numite GetVehicleParamsEx si SetVehicleParamsEx care controleaza motorul, farurile, alarma, usile, etc. 3. Acele 'detalii' se numesc TextDraw-uri si sunt mult mai simplu de facut decat pare, informeaza-te pe wikipedia.
  14. deasupra la asta: LinkVehicleToInterior(GetPlayerVehicleID(playerid), GetPlayerInterior(userID)); pui: SetVehiclePos(GetPlayerVehicleID(playerid), fPos[0], fPos[1]+2, fPos[2]);
  15. if(PlayerInfo[playerid][pPin] = cache_get_field_content(0, "Pin", string)) verificarea egalitatii se face cu semnul '==' semnul '=' inseamna ca acea variabila ia valoarea, de aceea nu are nici un sens.
  16. E cam greu sa intelegi daca nu ai ideea pe care o am eu in cap, spre exemplu nici eu nu prea inteleg ce are de aface sistemul tau cu ideea baiatului (doar ca amandoi ati vrut sistem de aplicatii direct din joc). Pe viitor nu te mai grabi cand scrii ca se vede urat, eu ma gandeam la un sistem putin mai complex deoarece sa:mp-ul este prea avansat acum ca sa vii cu sisteme care doar trimit niste mesaje si dau o valoare unei variabile.
  17. Partial mi se pare o idee buna, vorba lui Alin, ar fii mult de munca. Propun ca playerii care aplica sa fie listati in dialogul ala si cand apesi pe ei sa apara urmatoarele informatii: Nume: / Nivel: / Warns: / History: / Convinge-ma in 50 de cuvinte:. In momentul in care aplica la o factiune, sa ii apara doar un dialog stil input in care sa scrie ce vrea, asta va aparea la rubrica "Convinge-ma in 50 de cuvinte" sau cum vrei tu sa o numesti. Si daca tot am inceput, in momentul in care un tester foloseste /starttest [id], sa ii apara un test (grila sau cum vrei tu) si daca ii place testerului cum raspunde, eventual il accepta si pentru proba practica. Ar fii un sistem unic si de folos, vezi si tu ce idei mai iti vin si combina-le, bafta. Apropo, aici este rubrica "caut scripter" : https://www.sa-mp.ro/forums/forum/382-caut-scripter/
  18. vreau sa imi arati "SpawnPlayer"
  19. Cred ca inteleg ce anume vrei, uite un mod la care m-am gandit. new Float: distance1 = GetPlayerDistanceFromPoint(playerid, coordonate), Float: distance2 = GetPlayerDistanceFromPoint(playerid, coordonate), ... Float: distance7 = GetPlayerDistanceFromPoint(playerid, coordonate); if(distance1 < distance2 && distance1 < distance3 && distance1 < distance4 && distance1 < distance5 && distance1 < distance6 && distance1< distance7) { /// distance1 e cea mai mica. } if(distance2 < distance1 && distance2 < distance3 && distance2 < distance4 && distance2 < distance5 && distance2 < distance6 && distance2< distance7) { /// distance2 e cea mai mica. } ... if(distance7 < distance1 && distance7 < distance3 && distance7 < distance4 && distance7 < distance5 && distance7 < distance6 && distance7 < distance1) { /// distance7 e cea mai mica. } Alt mod mai simplu nu imi vine in minte momentan.
  20. E cea mai simpla metoda. Gata ca facem off aiurea. PS: buna treaba cu pawn-team.
  21. 1. Intri in joc 2. Iti dai respawn si nu te misti 3. Scrii /save spawn 4. Intri in my documents - gta san andreas - samp - saved pos. 5. Iei coordonatele si le cauti in gm 6. Modifici coordinatele si ala e spawn-ul
  22. Din cate stiu eu gm-ul bizgone nu are astfel de probleme. Verifica daca l-ai pus bine pe mysql si daca ai facut bine conexiunea gamemode - baza.
  23. Adaugi tu in gamemode. O pui chiar sub #include-uri.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more details you can also review our Terms of Use and Privacy Policy.