-
Posts
489 -
Joined
-
Last visited
-
Days Won
3
Content Type
Profiles
Forums
News
Documentation
Posts posted by TheGodfather
-
-
Salut, exista vreo metoda de scoatere a acestei notificari?
-
9 minutes ago, segmentationfault said:
Da... `e` vine de la `escape`, basically apeleaza functia automat `mysql_escape_string` pe argumente.
Multumesc
-
Salut, primesc mai multe erori de tipul: [ERROR] cache_get_field_content_int - invalid datatype
Aveti idee daca pot modifica ceva sa vad si linia? Sunt sute de linii care contin cache_get_field_content_int
-
Deci rezolvarea e cum am spus mai sus? Doar schimb %s cu %e unde folosesc orice forma de mysql?
-
2 minutes ago, segmentationfault said:
Stiu ce este, eu intrebam cum pot rezolva pentru samp
-
Salut, cum se pot rezolva problemele legate de sql injection? Am vazut ca una din metode ar fi folosirea de %e in loc de %s ca in exemplul de mai jos.
Sql injection: format(gQuery, sizeof(gQuery), "SELECT * FROM users WHERE `name`='%s' AND `password`='%s' LIMIT 1", GetName(playerid),password);
Fara sql injection: format(gQuery, sizeof(gQuery), "SELECT * FROM users WHERE `name`='%e' AND `password`='%e' LIMIT 1", GetName(playerid),password);
-
On 8/9/2022 at 4:17 PM, VAurel said:
Era bine daca lasai si tu un mic portofoliu, sau niste poze/prezentari legate de script-urile pe care spui ca le vinzi. Ca sa stie lumea ce cumpara.
Nu il lua in serios . Daca te uiti pe profilul lui si vezi ce a mai scris prin topicuri o sa intelegi de ce. A si editat cu . ce a scris ca radea lumea de el :)))
-
Salut, vreau sa va prezint un sistem asemanator jocului cs 1.6 avand ca harta o replica a fy_snow-ului. Sistemul necesita 2 sau mai multi jucatori, fiecare jucator poate avea o singura arma, putand sa o arunce apasand f. Membrii echipei castigatoare, indiferent ca mai sunt sau nu in arena, primesc recompensa la sfarsitul meciului. Cand jucatorii mor / iasa de pe server / apasa f, daca au arma, aceasta cade la ultima lor pozitie. Cand un jucator scrie /ctvst, daca nu e nimeni in arena porneste un timer de 20s, la final se verifica daca sunt destui jucatori (2 sau mai multi) pentru a incepe meciul. Cand meciul e inceput, alti jucatori nu pot sa mai foloseasca comanda /ctvst. Cand un jucator moare sau cand se termina meciul, este adus in fata intrarii arenei.
-
31 minutes ago, shane said:
Salut @TheGodfather,
In cazul in care nu ai rezolvat, desi ma indoiesc. Sistemul ar trebui sa functioneze in felul urmator:
new Iterator: serverVehicles<MAX_VEHICLES>; YCMD:spawncar(playerid, params[], help) { new carid = CreateVehicle(etc.....); Iter_Add(serverVehicles, carid); //etc.. } YCMD:despawncars(playerid, params[], help) { if(!Iter_Count(serverVehicles)) return SendClientMessage(playerid, -1, "No cars to despawn!"); new String[100]; format(String, sizeof String, "%s despawned %d vehicles.", GetName(playerid), Iter_Count(serverVehicles)); SendClientMessageToAll(playerid, -1, String) // exemplu foreach(new i : serverVehicles) DestroyVehicle(i); Iter_Clear(serverVehicles); //etc.. }
Iti recomand ' Iter_Clear ', in loc de ' Iter_Remove '. Ce ai tu mai sus, pare ok, ce ti-am dat eu, e doar un exemplu, de la care poti reface sistemul.
Salut, multumesc de reply. Am rezolvat, in loc de Iter_Remove am folosit Iter_SafeRemove. Am cautat pe internet cum functioneaza functiile de la iteratori dar nu am gasit nimic... altfel banuiesc ca nu eram nevoit sa fac postul acesta
-
3 minutes ago, iSorin[] said:
YCMD:despawncars(playerid, params[], help) {
if(PlayerInfo[playerid][pAdmin] < 1) return SCMM(playerid, -1, AdminOnly);
foreach(new i : SpawnedCars) {
DestroyVehicle(i);
Iter_Remove(SpawnedCars, i);
SCMf(playerid, -1, "%d", i);
}
new string[100];
format(string, sizeof(string), "[/despawncars] {FFFFFF}Admin %s destroyed all spawned cars.", GetName(playerid));
if(GetPVarInt(playerid, "Cover") == 0) SendAdminMessage(COLOR_LIGHTGOLD, string, 1);
return true;
}Nu merge, tot primesc aceeasi eroare si daca am 2 sau mai multe masini spawnate cu /spawncar despawneaza doar una
-
-
Salut, am o comanda de /spawncar si una de /despawncars, cand spawnez 2 masini de exemplu, o despawneaza pe prima dar pe a doua nu cand dau /despawncars iar in loguri am eroarea asta:
[19:24:22] [debug]
[19:24:22] [debug] Parameter count corrections:
[19:24:22] [debug]
[19:24:22] [debug] The 1st mangled argments (e.g. `<1073741823 arguments>`) below should read `<2 arguments>`
[19:24:22] [debug]
[19:24:22] [debug] Run time error 4: "Array index out of bounds"
[19:24:22] [debug] AMX backtrace:
[19:24:22] [debug] #0 0038d318 in ?? (0, 23972552, 0) from B-HOOD.amx
[19:24:22] [debug] #1 000552f4 in ?? (0, 23972504, 0) from B-HOOD.amx
[19:24:22] [debug] #2 00057e4c in ?? (0, 23972504, 0, 0, 0, 0, 8, 0, 23972504, 0, ... <1073741813 arguments>) from B-HOOD.amx
[19:24:22] [debug] #3 00022180 in public OnPlayerCommandText (0, 23972504) from B-HOOD.amxYCMD:spawncar(playerid, params[], help) {
if(PlayerInfo[playerid][pAdmin] < 1) return SCMM(playerid, -1, AdminOnly);
new model, color1, color2;
if(sscanf(params, "iii", model, color1, color2)) return SCMM(playerid,COLOR_GREY, "Syntax: {FFFFFF}/spawncar <Model> <color1> <color2>");
if(model < 400 || model > 611) return SCMM(playerid,-1, "Invalid car ID.");
new Float:X,Float:Y,Float:Z;
GetPlayerPos(playerid, X,Y,Z);
new carid = CreateVehicleEx(model, X,Y,Z, 0.0, color1, color2, -1, 0);
Gas[carid] = 100;
SetVehicleNumberPlate(carid, "AdmCar");
Iter_Add(SpawnedCars, carid);
LinkVehicleToInterior(carid, GetPlayerInterior(playerid));
SetVehicleVirtualWorld(carid, GetPlayerVirtualWorld(playerid));
PutPlayerInVehicleEx(playerid, carid, 0);
new idcar = GetPlayerVehicleID(playerid), vehicle = GetVehicleModel(idcar) - 400;
SCMf(playerid, COLOR_LIGHTGOLD, "[/spawncar] {FFFFFF}You have spawned one %s, car model: %d and car ID: %d.", aVehicleNames[vehicle], model, carid);
return true;
}YCMD:despawncars(playerid, params[], help) {
if(PlayerInfo[playerid][pAdmin] < 1) return SCMM(playerid, -1, AdminOnly);
foreach(new i : SpawnedCars)
Iter_Remove(SpawnedCars, i), DestroyVehicle(i), SCMf(playerid, -1, "%d", i);
new string[100];
format(string, sizeof(string), "[/despawncars] {FFFFFF}Admin %s destroyed all spawned cars.", GetName(playerid));
if(GetPVarInt(playerid, "Cover") == 0) SendAdminMessage(COLOR_LIGHTGOLD, string, 1);
return true;
} -
1 hour ago, Banditul said:
Stiu ca asta se intampla in momentul in care serverul este 'blocat' (processaza altceva) si nu poate procesa si OnPlayerConnect in acelasi timp care e foarte probabil cand serverul porneste ai e nevoie sa xonfigureze lucruri.
O posibila rezolvare, care face codul sa ruleze mai efficient, este sa nu compilezi gm cu -d3 (debug mode) astfel incat sa fie generat cod mai eficient, si inlocuiesti crashdetect cu JIT (care optimizeaza codul in timpul rulari). Considerand faptul ca ai inceput sa folosesti YSI codul care este rulat la pornire e posibil sa ruleze ceva mai incet pentru ca configureaza multe lucruri si nu prea are importanta pentru ca este procesat o singura data.
Eventual poti incerca open.mp care ruleaza mult mai eficient si mult mai bine si care are multe buguri rezolvate.
Ok, am inteles. Mersi frumos
-
26 minutes ago, Banditul said:
E posibil sa nu se incarce, iti mesajul ca plugin s-a icnarcat corect? De asemenea "crashdetect <found>" foarte probabil sa nu functioneze din cauza crashdetect
La fel face
EDIT: Am scos -d3 cand compilez gamemodeul + scos de tot crashdetect si inlocuit cu jit si merge doar ca acum dureaza cam mult sa compileze, in jur de 9 secunde fara de vreo 3-4 inainte sa fac schimbarile astea, chiar daca gamemode-ul (.amx) are 8 MB. Aceste este compilerul
{
"cmd": ["pawncc.exe", "-i includes", "$file", "-;+", "-v2","-Z+","-\\)+"],
"path": "C:/Users/crist/Desktop/HPQ123 samp gamemode actual cu tot ce trebuie/pawno"
} -
Salut, am instalat pluginul JIT si am urmat tutorialul de aici: https://github.com/Zeex/samp-plugin-jit dar tot imi spune cand pornesc serverul ca nu am pluginul.
-
Eu vreau ceva automat, nu pot pune ca la fiecare 10 secunde sa dea slap tururor jucatorilor se pe sv
-
4 minutes ago, Vicentzo- said:
Salutare !
Dupa parerea mea si in 'scenariul' sa zic asa dat de tine, cel mai ok ar fi sa faci iterator pentru ca de acest 'PlayerLeaders' te vei folosi nu doar la acea comanda si te va ajuta extrem de mult, pentru ca gandindu-te tu cu foreach de player faci un foreach in toti jucatori, dar la PlayerLeaders faci o verificare doar in acei playeri pe care-i adaugi tu.
Sper ca ti-am fost de folos !
Multumesc pentru raspuns
-
Salut, care este mai ok pentru urmatorul scenariu. Pentru a afisa numele liderilor online, unul sub altul pentru un jucator care scrie o comanda oarecare.
Iteratorul: Iterator:PlayerLeaders<MAX_PLAYERS> urmat la o comanda oarecare foreach(new i : PlayerLeaders) SCMf(playerid, -1, "%s", GetName(i));
foreach: foreach(new i : Player) if(PlayerInfo[i][pLeader] != 0) SCMf(playerid, -1, "%s", GetName(i));
EDIT: Sa luam si alt caz, tot cel cu liderii doar sa zicem ca trebuie sa facem un array in care pentru fiecare jucator care are lider avem o variabila definita Leaders[MAX_PLAYERS] iar la logare daca e lider, jucatorul are Leaders[playerid] = 1.
-
Salut, am observat ca dupa ce dau restart la server si nu ies de pe el, astept sa reporneasca, primesc mesajul Kicking "ip meu" because they didn't logon to the game. Dupa daca ies din joc si intru iar nu mai e nicio problema. Pot scoate aceasta chestie sau sa maresc timpul? Nu e ceva ce gasesc in gamemode sau in alte fisiere
-
Daca nu sunt logat cu pin daca dau o comanda care nu exista imi arata bine, daca scriu de ex /a imi scrie sintaxa comenzii, dar ar trebui sa imi dea mesajul de aici
if(strlen(PlayerInfo[playerid][pPin]) != 0 && PlayerInfo[playerid][pPinLogged] == 0) { SCMM(playerid, -1, "{FF6347}[PIN] {FFFFFF}You can not use commands because you did not enter a valid PIN!"); return COMMAND_OK; }
Cu ok merge bine daca nu exista comanda, daca pun in loc de COMMAND_OK pun COMMAND_ZERO_RET indiferent daca comanda exista sau nu primesc mesajul default,
SERVER: Unknown command
-
6 minutes ago, Banditul said:
https://github.com/pawn-lang/YSI-Includes/issues/5#issuecomment-96043340
Aparent pentru verificarea aia ai nevoie de OnPlayerCommandReceived nu de OnPlayerCommandPerformed pentru ca daca comanda e invalida e imposibil sa fie executata
if(success == COMMAND_OK) SpamCheck[playerid] = GetTickCount();
if(success == COMMAND_UNDEFINED) {SCMM(playerid, COLOR_GREY, "Error: Unknown command!"); return COMMAND_ZERO_RET;}Am pus asa la OnPlayerCommandReceived, indiferent de ce comanda introduc imi scrie mesajul default, SERVER: Unknown command. (nu cel pe care il am eu)
-
Cineva?
-
5 minutes ago, irinel77 said:
Pur si simplu faci 2 foldere numite fixes si temp in folderul scriptfiles.
Multumesc.
La OnPlayerCommandPerformed nu imi arata mesajul cu unknown command cand scriu o comanda care nu exista, aveti idee de ce? Am mai cautat solutii pe internet dar la toate e la fel
public e_COMMAND_ERRORS:OnPlayerCommandPerformed(playerid, cmdtext[], e_COMMAND_ERRORS:success) {
//antispam
if(aspam[playerid] == 0 && PlayerInfo[playerid][pAdmin] <
aspam[playerid] = 1;
//antispam
if(success == COMMAND_OK) {
SpamCheck[playerid] = GetTickCount();
return COMMAND_OK;
}
SCMM(playerid, COLOR_GREY, "Error: Unknown command!");
return COMMAND_OK;
} -
27 minutes ago, TheGodfather said:
Am reusit sa rezolv asta, dar cand pornesc serverul pe localhost imi spune asta:
EDIT:
Am pus asta la inceput de gamemode #define CGEN_MEMORY 100000 dar primesc alte erori, pe langa astea 2:
EDIT 2: Asta am rezolvat punand #define MAX_COMMANDS 1000 la inceput de gamemode. Legat de acele scriptfiles, ce pot face?
Notificare Total Respect
in Suport Servere
Posted
Multumesc