-
Posts
667 -
Joined
-
Last visited
-
Days Won
55
Content Type
Profiles
Forums
News
Documentation
Everything posted by khain.dev
-
Fiecare are dreptul de a folosi acea metodă pe care o consideră cea mai bună.
-
Recomand să te familiarizezi cu acest wiki - https://www.open.mp/docs/tutorials/stringmanipulation. Rezum acest wiki Format se folosește pentru a gestiona adăugarea incrementală de texte în buffer, nu doar pentru a măsura lungimea șirului, spre deosebire de strlen.
-
Cum adaug foreach in gamemode u meu?
khain.dev replied to Divil.Scorpiono's question in Ajutor Scripting
Da, nu este plugin, ai dreptate. -
Salut! format nu returnează o valoare în codul scris de mine, ci doar actualizează buffer-ul de șiruri de caractere pe care îl primește ca parametru, adică, arăt lungimea totală a șirului len care este actualizată cu numărul de caractere adăugate de fiecare dată când format este apelată.
-
Dar iarăși, dacă vrei sa afișezi un Dialog pentru fiecare player care solicita aceasta comanda, nu este rentabil din punct de vedere a utilizării memoriei, la un online +500 o sa ai putine probleme. Din acest motiv, majoritatea folosesc un singur dialog.
-
Pai, dacă luăm în calcul ce ai zis, putem face puțin diferit codul CMD:players(playerid, params[]) { new string[128 * MAX_PLAYERS], playerName[24], playerScore, len = 0; for (new i = 0; i < MAX_PLAYERS; i++) { if (IsPlayerConnected(i)) { GetPlayerName(i, playerName, sizeof(playerName)); playerScore = GetPlayerScore(i); len += format(string[len], sizeof(string) - len, "%s - %d\n", playerName, playerScore); if (len >= sizeof(string) - 128) { break; } } } if (len == 0) { strcat(string, "Nu există jucători pe server.\n", sizeof(string)); } ShowPlayerDialog(playerid, DialogNoResponse, DIALOG_STYLE_LIST, "Jucatori pe server", string, ">", ""); return 1; }
-
Salut! Iti pot propune versiunea mea pentru comanda ta. CMD:players(playerid, params[]) { new string[128 * MAX_PLAYERS], playerName[24], playerScore, len = 0; for (new i = 0; i < MAX_PLAYERS; i++) { if (IsPlayerConnected(i)) { GetPlayerName(i, playerName, sizeof(playerName)); playerScore = GetPlayerScore(i); len += format(string[len], sizeof(string) - len, "%s - %d\n", playerName, playerScore); } } if (len == 0) strcat(string, "Nu există jucători pe server.\n", sizeof(string)); ShowPlayerDialog(playerid, DialogNoResponse, DIALOG_STYLE_LIST, "Jucatori pe server", string, ">", ""); return 1; }
-
Cum adaug foreach in gamemode u meu?
khain.dev replied to Divil.Scorpiono's question in Ajutor Scripting
Acest includ are și plugin -
Cum adaug foreach in gamemode u meu?
khain.dev replied to Divil.Scorpiono's question in Ajutor Scripting
Salut, descărca cea mai noua versiune de aici https://github.com/karimcambridge/samp-foreach In server.cfg nu uita sa adaugi la plugins si foreach.so (linux) sau .dll (windows) /* dupa a_samp baga acest includ */ #include <a_samp> #include <foreach> public OnGameModeInit() { foreach (new p : Player) { /* Cod pentru fiecare jucător */ } foreach (new v : Vehicle) { /* Cod pentru fiecare vehicul */ } return 1; } -
Optimizăm putin codul CMD:fly(playerid, params[]) { if(!IsPlayerConnected(playerid)) return 0; // Verificăm dacă jucătorul este conectat if(gPlayerLogged[playerid] == 0) { SendClientMessage(playerid, COLOR_LIGHTRED, "Trebuie să te conectezi."); return 1; } if(PlayerInfo[playerid][pAdmin] < 1) { SendClientMessage(playerid, COLOR_ERROR, AdminOnly); return 1; } new sendername[MAX_PLAYER_NAME], string[256]; GetPlayerName(playerid, sendername, sizeof(sendername)); if(flymode[playerid] == 0) { togfind[playerid] = 0; flymode[playerid] = 1; format(string, sizeof(string), "{DFF230}%s este acum în modul fly-mode.", sendername); ABroadCast(COLOR_ORANGE, string, 1); InitFly(playerid); StartFly(playerid); SetPlayerHealthEx(playerid, 10000000); } else { togfind[playerid] = 1; flymode[playerid] = 0; format(string, sizeof(string), "{F89AD6}Ai oprit fly-mode-ul", sendername); SCM(playerid, COLOR_GREEN, string); StopFly(playerid); SetPlayerHealthEx(playerid, 100); } return 1; }
-
UN COD PUȚIN MAI OPTIMIZAT #include <zcmd> #define COLOR_LIGHTRED 0xFF6347AA #define COLOR_GREEN 0x0ea142FF stock GetClosestVehicle2(playerid, Float:dis) { new Float:X, Float:Y, Float:Z; if (GetPlayerPos(playerid, X, Y, Z)) { new vehicleid = INVALID_VEHICLE_ID; dis *= dis; // Evităm operațiunea de radical prin compararea dis^2 cu temp^2 for (new v, Float:VX, Float:VY, Float:VZ; v < MAX_VEHICLES; v++) { if (GetVehiclePos(v, VX, VY, VZ)) { VX -= X; VY -= Y; VZ -= Z; new temp = VX * VX + VY * VY + VZ * VZ; if (temp < dis) { dis = temp; vehicleid = v; } } } dis = floatpower(dis, 0.5); // Redundant în acest context, puteți renunța la această linie return vehicleid; } return INVALID_VEHICLE_ID; } CMD:closestcar(playerid, params[]) { if(!IsPlayerAdmin(playerid)) { SendClientMessage(playerid, COLOR_GREEN, "Nu poti folosi comanda pentru ca nu esti admin!"); return 1; } if(IsPlayerInAnyVehicle(playerid)) { SendClientMessage(playerid, COLOR_LIGHTRED, "Esti deja intr-o masina!"); return 1; } if(GetPlayerState(playerid) != PLAYER_STATE_ONFOOT) { SendClientMessage(playerid, COLOR_LIGHTRED, "Nu esti in picioare langa o masina!"); return 1; } new Float:closestDistance = 50.0; new cCar = GetClosestVehicle2(playerid, closestDistance); if(cCar != INVALID_VEHICLE_ID) { PutPlayerInVehicle(playerid, cCar, 0); } else { SendClientMessage(playerid, COLOR_LIGHTRED, "Nu ai gasit nicio masina in apropiere!"); } return 1; }
-
Ofer servicii de scripting SA:MP/MTA [ khain.dev ]
khain.dev replied to khain.dev's topic in Ofer servicii
Ce ține de marketing și SEO, dețin o agenție de marketing în România. Din punct de vedere financiar nu mă plâng, totuși, samp-ul este o relaxare personală și revenirea mea e un subiect strict de hobby. -
Ofer servicii de scripting SA:MP/MTA [ khain.dev ]
khain.dev replied to khain.dev's topic in Ofer servicii
UPD! Am revenit. -
Reacția anticheat-ului e prea bruscă, altfel vorbind, mai muncește la acest capitol, în rest e totul bine, felicitări.
-
cumpara-ti un salam si o paine cu banii astia, invata sa prietuiesti munca, ce ceri tu costa mult mai mult decat 25 de lei amarati.
-
Securitatea asta e inutila in momentul in care ai discordul spart
-
Va salut, am dorinta sa deschid un server in stilul PUBG + DM si nu numai. Eu ma ocup cu realizarea GM-ului in sine ( Mapping, TextDraw, Pawn ), din partea partenerului este finantarea acestui server. Pentru mai multe detalii, discutam in privat. Discord: hemingway.dev#3221
-
Salut ! Cine ma poate ajuta cu o comanda ?
khain.dev replied to GamerulFOX's topic in Discuţii scripting
if(registrul tau de date [pinfo] < 15000) return SendClientMessage(playerid, -1, !"Nu ai bani suficienti"); Baga asta inainte de GivePlayerWeapon introducand registrul tau de bani, exemplu if(PlayerInfo[playerid][Cash] < 10000) Si vezi ca ai o ) in plus la playerid cand retragi banii jucatorului. -
Caut scripter pentru un proiect mare.
khain.dev replied to Alex Alexandru's topic in Caut servicii / partener / etc.
Pot sa spun despre autorul acestei postari in felul urmator "Vrabia mălai visează" -
Legat de afisarea textrawurilor, ai auzit de sizeof? Exemplu: for(new i = 0; i < sizeof(x); i ++) TextDrawShowForPlayer(playerid, x[i]);
-
Ce versiune de MySQL folosesti?
-
Interesant ce parere o sa ai cand o sa iti returnez banii
