-
Posts
645 -
Joined
-
Last visited
-
Days Won
50
khain.dev last won the day on February 2
khain.dev had the most liked content!
About khain.dev
- Birthday 01/19/2000
Profile Information
-
Sex
Masculin
-
Interests
Programming
-
In-game Name
khain.dev
-
Level of knowledge
Experimentat
Contact Methods
-
Discord
Mo_Garcia#3221
- Website URL
Recent Profile Visitors
5,218 profile views
khain.dev's Achievements
-
Nu va mai pierdeți ambii timpul cu acest subiect, în caz contrar, fratele @-=[Vyorel]=- vă rezolvă rapid
-
Ok.
-
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.