new string[256];format(string,sizeof(string), \"%s kapott egy kekszet.\", aName[playerid]);SendClientMessage(playerid, -1, string);
#include <a_samp>#include <sscanf2>#include <dini>#include <dudb>#include <zcmd>#if defined FILTERSCRIPTnew nev[MAX_PLAYER_NAME];new aName[MAX_PLAYERS];stock(SaveAdminName(playerid){new file[128];format(file, sizeof(file), \"/Karakterek/%s.ini\", nev); //itt írd át a saját dinis elérési útra amit megadtál a register rendszernél , ha nincs ilyen akkor hozz létre egy Karakterek mappát a scriptfiles-ben és írj egy olyan + sort hogy: dini_Create(file);dini_IntSet(file, \"aName\", aName[playerid]);}stock(LoadAdminName(playerid){new file[128];format(file, sizeof(file), \"/Karakterek/%s.ini\", nev);aName[playerid] = dini_Int(file, \"aName\");}public OnPlayerConnect(playerid){LoadAdminName(playerid);return 1;}public OnPlayerDisconnect(playerid, reason){SaveAdminName(playerid);aName[playerid] = -;return 1;}CMD:adminnev(playerid,params[]){if(IsPlayerAdmin(playerid)); // így csak rcon adminnak megy , cseréld ki a te admin változódra{ new name;if(sscanf(params,\"s[256]\",name)); return SendClientMessage(playerid, -1, \"Használat: /adminnev [Admin név]\");aName[playerid] = name;}else SendClientMessage(playerid, -1, \"Minimum admin szint: Fõadmin\");return 1;}#endif
Igen , tudnád használni. De viszont akkor amiket mondtam csináld meg. +Amik megjegyzésben voltak odaírva , azokat is vedd figyelembe.
Már bocs, de ne legyetek már hülyék... hát hogy ne lehetne már megcsinálni azzal a feldolgozással?? Mivel én soha nem használtam azt, nem is volt rá szükségem így nem tudom megírni neked, viszont azt tudom ajánlani, hogy keress egy hozzáértõt, vagy pedig másolj be egy olyan parancsot a módból, aminek egy darab paramétere van, ès az valamilyen string(szöveg), és írd át. Sok sikert.[/quote]1. Azért nem lehet megcsinálni , mert az sscanf paramétere ott nem mûküdik.2. Nem bemásoltam.3. Ez így mûködik... Akárhol akarod használni az admin nevet , az aName változóval 100% osan mûködik.4. Az az 1 darab paraméter ELÉG.
#include <a_samp>#include <Dini>#define dcmd(%1,%2,%3) if (!strcmp((%3)[1], #%1, true, (%2)) && ((((%3)[(%2) + 1] == \'\\0\') && (dcmd_%1(playerid, \"\"))) || (((%3)[(%2) + 1] == \' \') && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1new AdminName[MAX_PLAYERS][24+1];new str[64];stock AdminNev(playerid, bool:mentes){ if(mentes) // mentés { format(str, sizeof str, \"%s.ini\", GetName(playerid)); if(!dini_Exists(str)) dini_Create(str); dini_Set(str, \"AdminName\", AdminName[playerid]); } else // betöltés { format(str, sizeof str, \"%s.ini\", GetName(playerid)); if(!dini_Exists(str)) return 1; format(AdminName[playerid], 25, \"%s\", dini_Get(str, \"AdminName\")); } return 1;}public OnPlayerConnect(playerid){ AdminNev(playerid, false); return 1;}public OnPlayerDisconnect(playerid){ AdminNev(playerid, true); format(AdminName[playerid], 25, \"\"); return 1;}dcmd_setaname(playerid, params[]){ if(!IsPlayerAdmin(playerid)) return 1; if(!strlen(params) || strlen(params) > 24) return 1; format(AdminName[playerid], 25, \"%s\", params); return 1;}dcmd_getaname(playerid, params[]){SendClientMessage(playerid, -1, AdminName[playerid]);#pragma unused paramsreturn 1;}public OnPlayerCommandText(playerid, cmdtext[]){ dcmd(setaname, 8, cmdtext); dcmd(getaname, 8, cmdtext); return 1;}stock GetName(id){ GetPlayerName(id, str, sizeof str); return str;}