-
Posts
47 -
Joined
-
Last visited
-
Days Won
2
Content Type
Profiles
Forums
News
Documentation
Posts posted by GamerulFOX
-
-
Salut ! Vreau sa fac o comanda putin mai grea ! Eu folosesc dini pentru un server de samp, si as vrea sa fac o comanda in care sa iti pui numar de imatriculare pe masina, stiu sa fac 95% din comanda, stiu sa o fac, sa se salveze, dar nu stiu sa verific daca alt player(online sau offline), mai are acelasi numar de imatriculare ! Cum pot face asta ? Ma poate ajuta cineva va rog frumos ? Multumesc !
-
De ce nu merge sa ma spawnez ?
OnDialog() if(dialogid == Register) { new name[MAX_PLAYER_NAME], file[256], string[128]; GetPlayerName(playerid, name, sizeof(name)); format(file, sizeof(file), SAVE, name); new files[256]; new one; one = 1; format(files, sizeof(files), "Server/Server.ini"); if(!response) return Kick(playerid); if (!strlen(inputtext)) return ShowPlayerDialog(playerid, Register, DIALOG_STYLE_INPUT, "Salut, nu ai un cont!", "Te rog scrie o parola !", "Register", "Inchide"); dini_Create(file); ServerInfo[playerid][sAccounts] = dini_Int(files, "Accounts"); ServerInfo[playerid][sAccounts] = ServerInfo[playerid][sAccounts]+one; dini_IntSet(files, "Accounts", ServerInfo[playerid][sAccounts]); dini_IntSet(file, "Password", udb_hash(inputtext)); dini_IntSet(file, "AdminLevel", PlayerInfo[playerid][pAdminLevel] = 0); dini_IntSet(file, "Money", PlayerInfo[playerid][pMoney] = 15000); dini_IntSet(file, "Score", PlayerInfo[playerid][pScore] = 0); dini_IntSet(file, "Bonus", PlayerInfo[playerid][pBonus] = 0); dini_IntSet(file, "FierVechi", PlayerInfo[playerid][pFier] = 0); dini_IntSet(file, "Permis", PlayerInfo[playerid][pPermis] = 0); dini_IntSet(file, "LicentaDeArma", PlayerInfo[playerid][pArma] = 0); dini_IntSet(file, "Gift", PlayerInfo[playerid][pGift] = 0); dini_IntSet(file, "cGift", PlayerInfo[playerid][pCGift] = 0); dini_IntSet(file, "Crate", PlayerInfo[playerid][pCrate] = 0); dini_IntSet(file, "Ban", PlayerInfo[playerid][pBan] = 0); dini_IntSet(file, "Diamonds", PlayerInfo[playerid][pDiamonds] = 0); dini_IntSet(file, "DatorLaBanca", PlayerInfo[playerid][pDator] = 0); dini_IntSet(file, "SumaBanca", PlayerInfo[playerid][pSumaBanca] = 0); dini_IntSet(file, "TimpRata", PlayerInfo[playerid][pTimpRata] = -1); dini_IntSet(file, "GiftPoints", PlayerInfo[playerid][pGiftPoints] = 0); dini_IntSet(file, "VIP", PlayerInfo[playerid][pVip] = 0); dini_IntSet(file, "Masina", PlayerInfo[playerid][pMasina] = 0); dini_IntSet(file, "ID", PlayerInfo[playerid][pID] = sAccounts); format(string, sizeof(string), "Te-ai inregistrat cu succes, %s !", name); gPlayerLogged[playerid] = 1; GivePlayerMoney(playerid, 15000); SetSpawnInfo(playerid, 0, 60, xspawn, yspawn, zspawn, 0, 0, 0, 0, 0, 0, 0); SpawnPlayer(playerid); SendClientMessage(playerid, COLOR_YELLOW, string); SendClientMessage(playerid, 0x0077ffFF, "Salut ! Bine ai venit !"); SendClientMessage(playerid, 0x0077ffFF, "Pentru inceput vreau sa iti spun ca ownerul acestui server este GamerulFOX !"); SendClientMessage(playerid, 0x0077ffFF, "Daca ai o problema/Vrei sa raportezi un bug trimite un report !"); SendClientMessage(playerid, 0x0077ffFF, "Pe acest server se v-or acorda bonusuri zilnic !"); SendClientMessage(playerid, 0x0077ffFF, "Echipa OldTimes, iti ureaza un joc cat mai placut !"); SetPlayerColor(playerid, 0x555755FF); SetPlayerVirtualWorld(playerid, 0); } if(dialogid == Login) { new name[MAX_PLAYER_NAME], file[256]; GetPlayerName(playerid, name, sizeof(name)); format(file, sizeof(file), SAVE, name); if(!response) return Kick(playerid); if (!strlen(inputtext)) return ShowPlayerDialog(playerid, Login, DIALOG_STYLE_INPUT, "Salut, ai un cont", "Te rog scrie parola !", "Login", "Inchide"); new tmp; tmp = dini_Int(file, "Password"); if(udb_hash(inputtext) != tmp) { SendClientMessage(playerid, COLOR_RED, "Parola Gresita !."); ShowPlayerDialog(playerid, Login, DIALOG_STYLE_INPUT, "Salut, ai deja un cont!", "Te rog scrie parola !", "Login", "Inchide"); } else { gPlayerLogged[playerid] = 1; PlayerInfo[playerid][pAdminLevel] = dini_Int(file, "AdminLevel"); SetPlayerScore(playerid, PlayerInfo[playerid][pScore]); GivePlayerMoney(playerid, dini_Int(file, "Money")-GetPlayerMoney(playerid)); PlayerInfo[playerid][pFier] = dini_Int(file, "FierVechi"); PlayerInfo[playerid][pArma] = dini_Int(file, "LicentaDeArma"); PlayerInfo[playerid][pGift] = dini_Int(file, "Gift"); PlayerInfo[playerid][pCGift] = dini_Int(file, "cGift"); PlayerInfo[playerid][pCrate] = dini_Int(file, "Crate"); PlayerInfo[playerid][pDiamonds] = dini_Int(file, "Diamonds"); PlayerInfo[playerid][pDator] = dini_Int(file, "DatorLaBanca"); PlayerInfo[playerid][pSumaBanca] = dini_Int(file, "SumaBanca"); PlayerInfo[playerid][pTimpRata] = dini_Int(file, "TimpRata"); PlayerInfo[playerid][pGiftPoints] = dini_Int(file, "GiftPoints"); PlayerInfo[playerid][pVip] = dini_Int(file, "VIP"); PlayerInfo[playerid][pMasina] = dini_Int(file, "Masina"); PlayerInfo[playerid][pID] = dini_Int(file, "ID"); if(PlayerInfo[playerid][pTimpRata] == 3){ SendClientMessage(playerid, 0x10d4deff, "Din pacate nu ai platit rata la timp!"); GivePlayerMoney(playerid, -GetPlayerMoney(playerid)); PlayerInfo[playerid][pDator] = 0; PlayerInfo[playerid][pSumaBanca] = 0; PlayerInfo[playerid][pTimpRata] = -1; dini_IntSet(file, "DatorLaBanca", PlayerInfo[playerid][pDator]); dini_IntSet(file, "SumaBanca", PlayerInfo[playerid][pSumaBanca]); dini_IntSet(file, "TimpRata", PlayerInfo[playerid][pTimpRata]); } if(PlayerInfo[playerid][pDator] == 1) PlayerInfo[playerid][pTimpRata]++; SetSpawnInfo(playerid, 0, 60, xspawn, yspawn, zspawn, 0, 0, 0, 0, 0, 0, 0); SendClientMessage(playerid, COLOR_RED, "Te-ai logat cu succes!"); SpawnPlayer(playerid); if(PlayerInfo[playerid][pAdminLevel] > 0) SetPlayerColor(playerid, COLOR_RED); SetPlayerVirtualWorld(playerid, 0); } } OnGameModeInit AddPlayerClass(60, 245.5034, 1856.5551, 8.7569, 269.1425, 0, 0, 0, 0, 0, 0); public OnPlayerConnect(playerid) { gPlayerLogged[playerid] = 0; new name[MAX_PLAYER_NAME], file[256]; GetPlayerName(playerid, name, sizeof(name)); format(file, sizeof(file), SAVE, name); if(!dini_Exists(file)) { TextDrawShowForPlayer(playerid, TDELogin_TD[0]); TextDrawShowForPlayer(playerid, TDELogin_TD[1]); format(ReportText[playerid], 256, "None"); UpdateSpeed[playerid] = false; SpdObj[playerid][0] = INVALID_OBJECT_ID; SpdObj[playerid][1] = INVALID_OBJECT_ID; PlayerJob[playerid] = 0; Checkpoint[playerid] = 0; JobVehicle[playerid] = 0; JobWorking[playerid] = 0; PlayerJob1[playerid] = 0; Checkpoint1[playerid] = 0; JobVehicle1[playerid] = 0; JobWorking1[playerid] = 0; PlayerJob2[playerid] = 0; Checkpoint2[playerid] = 0; JobVehicle2[playerid] = 0; JobWorking2[playerid] = 0; CursaCheckpoint[playerid] = 0; CursaCar[playerid] = 0; Report[playerid] = 0; masinaadmin[playerid] = 0; Event[playerid] = 0; pEvent[playerid] = 0; Gift[playerid] = 0; GiftC[playerid] = 0; Bonus[playerid] = 0; SpecialQuest[playerid] = 0; SpecialQuestCheckpoint[playerid] = 0; Salutare[playerid] = 0; DrivingCheckpoint[playerid] = 0; MasinaDMV[playerid] = 0; fPolitie[playerid] = 0; fMedic[playerid] = 0; fTaxi[playerid] = 0; fProTv[playerid] = 0; IsInCar[playerid] = 0; gPlayerLogged[playerid] = 0; ShowPlayerDialog(playerid, Register, DIALOG_STYLE_INPUT, "Salut, nu ai un cont!", "Te rog scrie o parola !", "Register", "Inchide"); } if(fexist(file)) { if(PlayerInfo[playerid][pBan] == 1){ SendClientMessage(playerid, 0xff0000FF, "Esti Banat !"); Kick(playerid); return 1; } TextDrawShowForPlayer(playerid, TDELogin_TD[0]); TextDrawShowForPlayer(playerid, TDELogin_TD[1]); format(ReportText[playerid], 256, "None"); UpdateSpeed[playerid] = false; SpdObj[playerid][0] = INVALID_OBJECT_ID; SpdObj[playerid][1] = INVALID_OBJECT_ID; PlayerJob[playerid] = 0; Checkpoint[playerid] = 0; JobVehicle[playerid] = 0; JobWorking[playerid] = 0; PlayerJob1[playerid] = 0; Checkpoint1[playerid] = 0; JobVehicle1[playerid] = 0; JobWorking1[playerid] = 0; PlayerJob2[playerid] = 0; Checkpoint2[playerid] = 0; JobVehicle2[playerid] = 0; JobWorking2[playerid] = 0; CursaCheckpoint[playerid] = 0; CursaCar[playerid] = 0; Report[playerid] = 0; masinaadmin[playerid] = 0; Event[playerid] = 0; pEvent[playerid] = 0; Gift[playerid] = 0; GiftC[playerid] = 0; Bonus[playerid] = 0; SpecialQuest[playerid] = 0; SpecialQuestCheckpoint[playerid] = 0; Salutare[playerid] = 0; DrivingCheckpoint[playerid] = 0; MasinaDMV[playerid] = 0; fPolitie[playerid] = 0; fMedic[playerid] = 0; fTaxi[playerid] = 0; fProTv[playerid] = 0; IsInCar[playerid] = 0; gPlayerLogged[playerid] = 0; ShowPlayerDialog(playerid, Register, DIALOG_STYLE_INPUT, "Salut, nu ai un cont!", "Te rog scrie o parola !", "Register", "Inchide"); } return 1; }
doar astea -
Salut ! Am o intrebare ! Cum pot sa pun un wait la o comanda ? Stiu sa scriptez destul de bine, va asigur, dar asa nu stiu, parca nu m-a interesat niciodata !
-
Salut ! Folosesc acest filterscript pentru kilometraj si nu mai merge nici un textdraw ! Ma poate ajuta cineva ? Cat timp asta este dezactivat(nu este in server.cfg) totul merge perfect !
-
Salut ! Folosesc acest filterscript pentru kilometraj si nu mai merge nici un textdraw ! Ma poate ajuta cineva ? Cat timp asta este dezactivat(nu este in server.cfg) totul merge perfect !
-
Salut ! Folosesc acest filterscript pentru kilometraj si nu mai merge nici un textdraw ! Ma poate ajuta cineva ? Cat timp asta este dezactivat(nu este in server.cfg) totul merge perfect !
-
13 hours ago, Banditul said:
Ai nevoie si de https://open.mp/docs/scripting/functions/SetSpawnInfo
Atlfel nu stie unde sa iti spawneze playerul
Mersi !
-
De ce nu ma spawneaza ?
if (dialogid == REGISTER) { new name[MAX_PLAYER_NAME], file[256], string[128]; GetPlayerName(playerid, name, sizeof(name)); format(file, sizeof(file), SAVE, name); if(!response) return Kick(playerid); if (!strlen(inputtext)) return ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Salut, nu esti registrat.", "Te rog scrie o parola.", "Register", "inchide"); dini_Create(file); dini_IntSet(file, "Password", udb_hash(inputtext)); dini_IntSet(file, "AdminLevel",PlayerInfo[playerid][pAdminLevel] = 0); dini_IntSet(file, "Money",PlayerInfo[playerid][pCash] = 100); dini_IntSet(file, "Score",PlayerInfo[playerid][pLevel] = 0); dini_IntSet(file, "Job", PlayerInfo[playerid][pJob] = 0); SpawnPlayer(playerid); format(string, 128, "Te-ai logat cu succes ! Nume : %s | Parola : %s.", name, inputtext); SpawnPlayer(playerid); GivePlayerMoney(playerid, 100); SpawnPlayer(playerid); SendClientMessage(playerid, COLOR_YELLOW, string); SpawnPlayer(playerid); gPlayerLogged[playerid] = 1; SpawnPlayer(playerid); } if (dialogid == LOGIN) { new name[MAX_PLAYER_NAME], file[256]; GetPlayerName(playerid, name, sizeof(name)); format(file, sizeof(file), SAVE, name); if(!response) return Kick(playerid); if (!strlen(inputtext)) return ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "Hi your registered", "Fucken awesome mate, your registered . Inpute your pw below", "Login", "Leave"); new tmp; tmp = dini_Int(file, "Password"); if(udb_hash(inputtext) != tmp) { SendClientMessage(playerid, COLOR_RED, "Parola gresita !"); ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "Salut, esti inregistrat.", "Te rog scrie parola.", "Login", "inchide"); } else { SpawnPlayer(playerid); gPlayerLogged[playerid] = 1; PlayerInfo[playerid][pAdminLevel] = dini_Int(file, "AdminLevel"); SetPlayerScore(playerid, PlayerInfo[playerid][pLevel]); GivePlayerMoney(playerid, dini_Int(file, "Money")-GetPlayerMoney(playerid)); PlayerInfo[playerid][pJob] = dini_Int(file, "Job"); SendClientMessage(playerid,COLOR_RED, "Te-ai logat cu succes !"); SpawnPlayer(playerid); }
-
9 minutes ago, Banditul said:
https://open.mp/docs/scripting/callbacks/OnPlayerClickTextDraw
Citeste partea cu rosu din acest link si adauga ce iti lipseste pentru Rent_TDE
Am rezolvat ! A trebuit sa adaug TextDrawSetSelectable(Rent_TDE, 1);
-
public OnPlayerClickTextDraw(playerid, Text:clickedid) { if(clickedid == Rent_TDE) { TextDrawDestroy(Rent_TDE); TextDrawDestroy(Rent_TD[3]); TextDrawDestroy(Rent_TD[4]); GivePlayerMoney(playerid, -100); CreateVehicle(509, 2275.7969,-84.5570,26.5145, 0, 1, 1, 0, 0); return 1; } return 0; } new Text:Rent_TD[5]; new Text:Rent_TDE; Rent_TDE = TextDrawCreate(221.666641, 245.585189, "RENT"); TextDrawLetterSize(Rent_TDE, 0.400000, 1.600000); TextDrawAlignment(Rent_TDE, 1); TextDrawColor(Rent_TDE, -1); TextDrawSetShadow(Rent_TDE, 0); TextDrawBackgroundColor(Rent_TDE, 255); TextDrawFont(Rent_TDE, 1); TextDrawSetProportional(Rent_TDE, 1); Rent_TD[3] = TextDrawCreate(182.333404, 147.688873, "box"); TextDrawLetterSize(Rent_TD[3], 0.000000, 13.933335); TextDrawTextSize(Rent_TD[3], 293.000000, 0.000000); TextDrawAlignment(Rent_TD[3], 1); TextDrawColor(Rent_TD[3], -1); TextDrawUseBox(Rent_TD[3], 1); TextDrawBoxColor(Rent_TD[3], 255); TextDrawSetShadow(Rent_TD[3], 0); TextDrawBackgroundColor(Rent_TD[3], 255); TextDrawFont(Rent_TD[3], 1); TextDrawSetProportional(Rent_TD[3], 1); Rent_TD[4] = TextDrawCreate(183.333374, 152.251876, "Apasa_pe_buto-~n~nul_RENT_pentru_a~n~inchiria_o_bicicleta~n~~n~_______PRET_100$"); TextDrawLetterSize(Rent_TD[4], 0.400000, 1.600000); TextDrawAlignment(Rent_TD[4], 1); TextDrawColor(Rent_TD[4], -1); TextDrawSetShadow(Rent_TD[4], 0); TextDrawBackgroundColor(Rent_TD[4], 255); TextDrawFont(Rent_TD[4], 1); TextDrawSetProportional(Rent_TD[4], 1); CMD:rent(playerid, params[]) { new name[MAX_PLAYER_NAME]; GetPlayerName(playerid, name, sizeof(name)); if(!IsPlayerInRangeOfPoint(playerid, 2.0, 2275.7969,-84.5570,26.5145)){ SendClientMessage(playerid, 0xff0000FF, "Nu esti la locatia potrivita !"); DisablePlayerCheckpoint(playerid); SetPlayerCheckpoint(playerid, 2275.7969,-84.5570,26.5145, 3.0); return 1; } TextDrawShowForPlayer(playerid, Rent_TD[2]); TextDrawShowForPlayer(playerid, Rent_TD[3]); TextDrawShowForPlayer(playerid, Rent_TD[4]); SelectTextDraw(playerid, COLOR_YELLOW); return 1; }
Adica vreau ca playerul sa scrie /rent si sa apara mousul si sa de-a click pe RENT ! Dar nu merge sa de-a click pe textdraw-ul RENT
-
public OnPlayerConnect(playerid) { new name[MAX_PLAYER_NAME], file[256]; GetPlayerName(playerid, name, sizeof(name)); format(file, sizeof(file), SAVE, name); if(!dini_Exists(file)) { ShowPlayerDialog(playerid, Register, DIALOG_STYLE_INPUT, "Salut, nu ai un cont!", "Te rog scrie o parola !", "Register", "Inchide"); TextDrawShowForPlayer(playerid, TDEditor_TD[7]); TextDrawShowForPlayer(playerid, TDEditor_TD[8]); format(ReportText[playerid], 256, "None"); PlayerInfo[playerid][pFier] = FierVechi[playerid]; UpdateSpeed[playerid] = false; SpdObj[playerid][0] = INVALID_OBJECT_ID; SpdObj[playerid][1] = INVALID_OBJECT_ID; PlayerJob[playerid] = 0; Checkpoint[playerid] = 0; JobVehicle[playerid] = 0; JobWorking[playerid] = 0; PlayerJob1[playerid] = 0; Checkpoint1[playerid] = 0; JobVehicle1[playerid] = 0; JobWorking1[playerid] = 0; PlayerJob2[playerid] = 0; Checkpoint2[playerid] = 0; JobVehicle2[playerid] = 0; JobWorking2[playerid] = 0; CursaCheckpoint[playerid] = 0; CursaCar[playerid] = 0; Report[playerid] = 0; masinaadmin[playerid] = 0; Event[playerid] = 0; pEvent[playerid] = 0; Gift[playerid] = 0; GiftC[playerid] = 0; Bonus[playerid] = 0; SpecialQuest[playerid] = 0; SpecialQuestCheckpoint[playerid] = 0; Salutare[playerid] = 0; DrivingCheckpoint[playerid] = 0; MasinaDMV[playerid] = 0; fPolitie[playerid] = 0; fMedic[playerid] = 0; fTaxi[playerid] = 0; fProTv[playerid] = 0; IsInCar[playerid] = 0; gPlayerLogged[playerid] = 0; } if(fexist(file)) { if(PlayerInfo[playerid][pBan] == 1){ SendClientMessage(playerid, 0xff0000FF, "Esti Banat !"); Kick(playerid); return 1; } ShowPlayerDialog(playerid, Login, DIALOG_STYLE_INPUT, "Salut, ai deja un cont!", "Te rog scrie parola !", "Login", "Inchide"); TextDrawShowForPlayer(playerid, TDEditor_TD[0]); TextDrawShowForPlayer(playerid, TDEditor_TD[1]); format(ReportText[playerid], 256, "None"); PlayerInfo[playerid][pFier] = FierVechi[playerid]; UpdateSpeed[playerid] = false; SpdObj[playerid][0] = INVALID_OBJECT_ID; SpdObj[playerid][1] = INVALID_OBJECT_ID; PlayerJob[playerid] = 0; Checkpoint[playerid] = 0; JobVehicle[playerid] = 0; JobWorking[playerid] = 0; PlayerJob1[playerid] = 0; Checkpoint1[playerid] = 0; JobVehicle1[playerid] = 0; JobWorking1[playerid] = 0; PlayerJob2[playerid] = 0; Checkpoint2[playerid] = 0; JobVehicle2[playerid] = 0; JobWorking2[playerid] = 0; CursaCheckpoint[playerid] = 0; CursaCar[playerid] = 0; Report[playerid] = 0; masinaadmin[playerid] = 0; Event[playerid] = 0; pEvent[playerid] = 0; Gift[playerid] = 0; GiftC[playerid] = 0; Bonus[playerid] = 0; SpecialQuest[playerid] = 0; SpecialQuestCheckpoint[playerid] = 0; Salutare[playerid] = 0; DrivingCheckpoint[playerid] = 0; MasinaDMV[playerid] = 0; fPolitie[playerid] = 0; fMedic[playerid] = 0; fTaxi[playerid] = 0; fProTv[playerid] = 0; IsInCar[playerid] = 0; gPlayerLogged[playerid] = 0; } return 1; }
-
public OnPlayerConnect(playerid) { new string[256], nume[MAX_PLAYER_NAME]; GetPlayerName(playerid, nume, sizeof(nume)); format(string, sizeof(string), "%s s-a conectat!", nume); print(string); PlayerInfo[playerid][pFier] = FierVechi[playerid]; UpdateSpeed[playerid] = false; SpdObj[playerid][0] = INVALID_OBJECT_ID; SpdObj[playerid][1] = INVALID_OBJECT_ID; PlayerJob[playerid] = 0; Checkpoint[playerid] = 0; JobVehicle[playerid] = 0; JobWorking[playerid] = 0; PlayerJob1[playerid] = 0; Checkpoint1[playerid] = 0; JobVehicle1[playerid] = 0; JobWorking1[playerid] = 0; PlayerJob2[playerid] = 0; Checkpoint2[playerid] = 0; JobVehicle2[playerid] = 0; JobWorking2[playerid] = 0; CursaCheckpoint[playerid] = 0; CursaCar[playerid] = 0; Report[playerid] = 0; masinaadmin[playerid] = 0; Event[playerid] = 0; pEvent[playerid] = 0; Gift[playerid] = 0; GiftC[playerid] = 0; Bonus[playerid] = 0; SpecialQuest[playerid] = 0; SpecialQuestCheckpoint[playerid] = 0; Salutare[playerid] = 0; DrivingCheckpoint[playerid] = 0; MasinaDMV[playerid] = 0; fPolitie[playerid] = 0; fMedic[playerid] = 0; fTaxi[playerid] = 0; fProTv[playerid] = 0; IsInCar[playerid] = 0; format(ReportText[playerid], 256, "None"); TextDrawShowForPlayer(playerid, TDEditor_TD[0]); TextDrawShowForPlayer(playerid, TDEditor_TD[1]); gPlayerLogged[playerid] = 0; new name[MAX_PLAYER_NAME], file[256]; GetPlayerName(playerid, name, sizeof(name)); format(file, sizeof(file), SAVE, name); if (!dini_Exists(file)) { ShowPlayerDialog(playerid, Register, DIALOG_STYLE_INPUT, "Salut, nu ai un cont!", "Te rog scrie o parola !", "Register", "Inchide"); } if(fexist(file)) { ShowPlayerDialog(playerid, Login, DIALOG_STYLE_INPUT, "Salut, ai deja un cont!", "Te rog scrie parola !", "Login", "Inchide"); } return 1;
} -
-
Salut ! Am o intrebare ! Am vazut ca o parte din persoanele care compileaza un gamemode le apar asa : https://imgur.com/a/MwK4kbW ! Dar eu cand compilez imi apare asa: https://imgur.com/a/1Q2i5AR ! Cum pot sa fac sa imi apara si mie ca in prima poza ?
-
1 hour ago, Banditul said:
Presupun ca este vorba despre verificarea daca jucatorul foloseste o masina de taxi. Ambele variante sunt corecte si ar trebui sa functioneze.
Intrebarea este, cTaxi[0] cTaxi[1] cTaxi[2] contin masina de taxi? Aici ma refer la
cTaxi[0] = CreateVehicle(...)/AddStaticVehicle(...);
Pentru ca daca nu ai asa ceva in codul tau nu o sa functioneze.
Bonus:
Trebuie pus dupa sscanf, pentru ca daca il ai inainte de sscanf variabila id este 0 si nu contine inca id playerului dorit.
Aia dupa sscanf o stiam, dar am facut in graba ! Uite si cum am facut si cTaxi[0] ! https://imgur.com/a/mV1PgGA
-
CMD:cursataxi(playerid, params[]) { new id, bani, string[256], string1[256], name[MAX_PLAYER_NAME], name1[MAX_PLAYER_NAME]; GetPlayerName(playerid, name, sizeof(name)); GetPlayerName(id, name1, sizeof(name1)); if(sscanf(params, "ud", id, bani)) return SendClientMessage(playerid, SYNTAX, "/cursataxi <playerid/name> <amount>"); new Float:x, Float:z, Float:y; GetPlayerPos(id, Float:x, Float:y, Float:z); if(fTaxi[playerid] == 0) return SendClientMessage(playerid, 0xff0000FF, "Nu esti din factiunea 'Taxi' !"); if(!IsPlayerInVehicle(playerid, cTaxi[0])) return SendClientMessage(playerid, 0xff0000FF, "Nu esti in masina de taxi !"); if(!IsPlayerInVehicle(playerid, cTaxi[1])) return SendClientMessage(playerid, 0xff0000FF, "Nu esti in masina de taxi !"); if(!IsPlayerInVehicle(playerid, cTaxi[2])) return SendClientMessage(playerid, 0xff0000FF, "Nu esti in masina de taxi !"); if(!IsPlayerInRangeOfPoint(playerid, 2.0, x, y, z)) return SendClientMessage(playerid, 0xff0000FF, "Nu esti langa acel player!"); if(GetPlayerMoney(id) < bani) return SendClientMessage(playerid, 0xff0000FF, "Acel player nu are suficienti lei pentru a platii cursa!"); if(!IsPlayerConnected(id) || id == INVALID_PLAYER_ID) return SCM(playerid, 0xff0000FF, "Acel jucator nu este conectat!"); format(string, sizeof(string), "Iai oferit o cursa lui %s, pentru %d lei!", name1, bani); SendClientMessage(playerid, 0x00aeffFF, string); format(string1, sizeof(string1), "Taximetristul %s ti-a oferit o cursa pe %d lei!", name, bani); SendClientMessage(playerid, 0x10d4deff, string); GivePlayerMoney(id, -bani); GivePlayerMoney(playerid, bani); return 1; } VREAU SA MENTIONEZ CA AM INCERCAT SI ASA CMD:cursataxi(playerid, params[]) { new id, bani, string[256], string1[256], name[MAX_PLAYER_NAME], name1[MAX_PLAYER_NAME]; GetPlayerName(playerid, name, sizeof(name)); GetPlayerName(id, name1, sizeof(name1)); if(sscanf(params, "ud", id, bani)) return SendClientMessage(playerid, SYNTAX, "/cursataxi <playerid/name> <amount>"); new Float:x, Float:z, Float:y; GetPlayerPos(id, Float:x, Float:y, Float:z); if(fTaxi[playerid] == 0) return SendClientMessage(playerid, 0xff0000FF, "Nu esti din factiunea 'Taxi' !"); if(GetPlayerVehicleID(playerid) != cTaxi[0] || GetPlayerVehicleID(playerid) != cTaxi[1] || GetPlayerVehicleID(playerid) != cTaxi[2]) return SendClientMessage(playerid, 0xff0000FF, "Nu esti in masina de taxi!"); if(!IsPlayerInRangeOfPoint(playerid, 2.0, x, y, z)) return SendClientMessage(playerid, 0xff0000FF, "Nu esti langa acel player!"); if(GetPlayerMoney(id) < bani) return SendClientMessage(playerid, 0xff0000FF, "Acel player nu are suficienti lei pentru a platii cursa!"); if(!IsPlayerConnected(id) || id == INVALID_PLAYER_ID) return SCM(playerid, 0xff0000FF, "Acel jucator nu este conectat!"); format(string, sizeof(string), "Iai oferit o cursa lui %s, pentru %d lei!", name1, bani); SendClientMessage(playerid, 0x00aeffFF, string); format(string1, sizeof(string1), "Taximetristul %s ti-a oferit o cursa pe %d lei!", name, bani); SendClientMessage(playerid, 0x10d4deff, string); GivePlayerMoney(id, -bani); GivePlayerMoney(playerid, bani); return 1; }
-
2 hours ago, Banditul said:
In primul rand acele array cu MAX_PLAYERS sunt inutile deoarece toate acele variabile pe care le creezi sunt sterse din memorie in momentul in care comanda atinge ultima acolada.
In al doilea rand, functia GetPlayerHealth nu returneaza o valoare ci o paseaza prin referinta ceea ce inseamna ca hp tau corect se afla in variabilele: viata viata2 (udne era necesar doar o singura variabila)
Voiam sa iti repar comanda da codul ala e atat de greu de citit si inteles.
CMD:heal(playerid, params[]) { if(fMedic[playerid] == 0) return SendClientMessage(playerid, 0xff0000FF, "Nu faci parte din factiunea 'Medic' !"); new id, hp; if(sscanf(params, "ud", id, hp)) return SendClientMessage(playerid, 0x00aeffFF, "/healp <playerid/name> <amount>"); if(!IsPlayerConnected(id) || id == INVALID_PLAYER_ID) return SCM(playerid, 0xff0000FF, "Acel jucator nu este conectat!"); new Float:x, Float:y, Float:z; GetPlayerPos(id, x, y, z); if(!IsPlayerInRangeOfPoint(playerid, 2.0, x, y, z)) return SendClientMessage(playerid, 0xff0000FF, "Nu esti langa acel player!"); if(GetPlayerMoney(id) < hp*2) return SendClientMessage(playerid, 0xff0000FF, "Acel jucator nu are suficienti lei, pentru acel hp!"); new viata; GetPlayerHealth(id, viata); if(viata >= 100) return SendClientMessage(playerid, 0xff0000FF, "Acel jucator are deja viata maxima!"); new name[MAX_PLAYER_NAME], name1[MAX_PLAYER_NAME]; GetPlayerName(playerid, name, sizeof(name)); GetPlayerName(id, name1, sizeof(name1)); format(string, sizeof(string), "Iai oferit lui %s %d heal!", name1, hp); SendClientMessage(playerid, 0x00aeffFF, string); format(string2, sizeof(string2), "Medicul %s ti-a oferit %d heal, iar tu l-ai platit!", name, hp); SendClientMessage(id, 0x00aeffFF, string2); new pay; pay = hp*2; GivePlayerMoney(id, -pay); GivePlayerMoney(playerid, hp * 2); SetPlayerHealth(id, viata+hp); return 1; }
Poate asa iti este mai usor sa urmaresti logica comenzi. Am incercat sa separ comanda in pasi mai logici.
Mersi frumos ! Sunt la inceput si de ieri am inceput sa inteleg unpic sscanf !
-
CMD:heal(playerid, params[])
{
new id, hp, Float:viata, Float:viata2, string[256], string2[256], name1[MAX_PLAYER_NAME], viata3[MAX_PLAYERS], name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
if(fMedic[playerid] == 0) return SendClientMessage(playerid, 0xff0000FF, "Nu faci parte din factiunea 'Medic' !");
if(sscanf(params, "ud", id, hp)) return SendClientMessage(playerid, 0x00aeffFF, "/healp <playerid/name> <amount>");
if(!IsPlayerConnected(id) || id == INVALID_PLAYER_ID) return SCM(playerid, 0xff0000FF, "Acel jucator nu este conectat!");
GetPlayerName(id, name1, sizeof(name1));
GetPlayerHealth(id, viata);
new Float:x, Float:y, Float:z;
GetPlayerPos(id, x, y, z);
if(!IsPlayerInRangeOfPoint(playerid, 2.0, x, y, z)) return SendClientMessage(playerid, 0xff0000FF, "Nu esti langa acel player!");
if(GetPlayerMoney(id) < hp*2) return SendClientMessage(playerid, 0xff0000FF, "Acel jucator nu are suficienti lei, pentru acel hp!");
viata3[playerid] = GetPlayerHealth(id, viata2);
if(viata3[playerid] >= 100) return SendClientMessage(playerid, 0xff0000FF, "Acel jucator are deja viata maxima!");
format(string, sizeof(string), "Iai oferit lui %s %d heal!", name1, hp);
SendClientMessage(playerid, 0x00aeffFF, string);
format(string2, sizeof(string2), "Medicul %s ti-a oferit %d heal, iar tu l-ai platit!", name, hp);
SendClientMessage(id, 0x00aeffFF, string2);
new pay[MAX_PLAYERS];
pay[playerid] = hp*3;
GivePlayerMoney(id, -pay[playerid]);
GivePlayerMoney(playerid, hp * 2);
SetPlayerHealth(id, viata+hp);
return 1;
} -
41 minutes ago, Banditul said:
In cazul conditiei tale daca amenda este 2000$ si playerul detine 2001$ sau 1999$ rezultatul va fi pozitiv si anume acel mesaj fi afisat. Doar in cazul amenda si bani jucatorului sunt 2000$ exact atunci rezultatul e negativ si comanda continua.
Poate ai prefera sa ai
if(GetPlayerMoney(id) < amenda) return SendClientMessage(playerid, 0xff0000FF, "Acel jucator nu are suficienti lei pentru a platii amenda!");
Caz in care daca jucatorul are mai putini bani decat amenda va afisa mesajul
Mersi frumos! +1
-
Salut ! Nu merge o verificare ! Daca acel player, are acei bani, ii ofera mesajul "Acel jucator nu are suficienti lei pentru a platii amenda" ! Ce am facut gresit ?
CMD:amenda(playerid, params[])
{
new id, amenda, string[256], Float:x, Float:y, Float:z, name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
GetPlayerPos(id, x, y, z);
if(fPolitie[playerid] == 0) return SendClientMessage(playerid, RED, "Nu esti din factiunea 'Politie' !");
if(sscanf(params, "ud", id, amenda)) return SendClientMessage(playerid, 0xff0000FF, "/amenda <playerid/name> <amount>");
if(!IsPlayerConnected(id) || id == INVALID_PLAYER_ID) return SCM(playerid, 0xff0000FF, "Acel jucator nu este conectat!");
if(!IsPlayerInRangeOfPoint(playerid, 2.0, x, y ,z)) return SendClientMessage(playerid, 0xff0000FF, "Nu esti langa acel player!");
if(GetPlayerMoney(id) != amenda) return SendClientMessage(playerid, 0xff0000FF, "Acel jucator nu are suficienti lei pentru a platii amenda!");
GivePlayerMoney(id, -amenda);
format(string, sizeof(string), "Ai fost amendat de politistul %s!", name);
SendClientMessage(id, 0x00aeffFF, string);
return 1;
} -
On 11/19/2021 at 2:10 PM, Banditul said:
Dini este mai mult decat antic dar ca sa salvezi date in fisierul jucatorului trebuie sa te folosesti de functia dini_IntSet(filename[],key[],value); eventual ce vei dori sa faci in comanda este ceva de genul
if (dini_Exists(file)) { dini_IntSet(file, "Bonus", 1); }
Unde file este calea ta catre fisierul jucatorului, ex: Account/GamerulFOX.ini (adica in folderul scriptfiles care contine folderul Account) dar asta depinde de implementatia pe care o ai deja facuta iar in loc de "Bonus" e posibil sa fi definit tu deja altceva. Acuma eventual poti avea poate
PlayerInfo[playerid][Bonus] = 1; if (dini_Exists(file)) { dini_IntSet(file, "Bonus", PlayerInfo[playerid][Bonus]); }
Daca voiai un exemplu concret cu comanda pe care deja o ai poti oferi data viitoare codul pe care ai incercat sa il faci astfel incat sa ai un exemplu mai bun decat cateva lini de cod
Mersi, dar cum pot creea fișierul GamerulFOX.ini ?
-
Salut ! Am o intrebare ! Daca vreau sa folosesc dini pentru server-ul meu de samp, care sunt niste comenzi care m-ar ajuta ? Adica de ex un bonus ! Daca vreau sa dau /bonus sa se puna bonus in "Baza de date" de la dini sa se puna pe unu
-
26 minutes ago, Banditul said:
new CollectTime[MAX_PLAYERS]; CMD:collect(playerid, params[]) { if (CollectTime[playerid] > gettime()) { new message[30]; format(message, sizeof message, "Timp ramas %i minute.", (CollectTime[playerid] - gettime()) / 60 ); SendClientMessage(playerid, message); } GivePlayerMoney(playerid, 25000); CollectTime[playerid] = gettime() + 15 * 60; }
O idee de baza. Singura problema fara a avea o stocare persistenta pentru acea valoare (fara baza de date/ etc) playerul poate pur si simplu sa se reconecteze si sa foloseasca comanda la infinit
bro deci in primul rand, ai uitat de return 1; la un sendclientmessage ai uitat de culoare si nu merge cum am spus eu ! Deci un player a intrat pe server si da /collect da eroare "Poti folosi aceasta comanda in %i minute!" si dupa ce face acel timp poate sa de-a ! Adica daca da reconnect sa ia din nou "Timer-ul" de la inceput!
-
Salut ! Cine ma poate ajuta cu o comanda care contorizeaza timp-ul player-ului ca atunci cand da /timecollect sa primeasca 25 000 money ! Timp-ul este de 15 minute ! Tin sa mentionez ca nu am o baza de date !
#include <a_samp>
#include <sscanf2>
#include <fly>
#include <streamer>
#include <zcmd>
#include <foreach>
Salut ! Vreau sa fac o comanda putin mai grea !
in Discuţii scripting
Posted
Ti-am dat add