-
Hali!
Van egy /pmutat [játékosid] parancsom,viszont nem akar mûködni,a nevet nem írja ki illetve ID nélkül is megy a parancs (nem írja hogy nincs fent a játékos),illetve ha rossz ID -t írok akkor is megy a parancs,a server.exe fekete kis ablakban ennyit ír: \"sscanf error system not initialized\",néztem itt a fórumban is azt,hogy \"Szerverem frissítése 0.3z\" -re,frissítettem az SSCANFot és Streamert,pluginokat,de azzal is ugyanezt írja. Mi lehet a gond ?
CMD:pmutat(playerid, params[])
{
new targetid = strval(params);
new papirok[128];
new penze[128];
new nev[128];
if(sscanf(params,\"u\",id)) SendClientMessage(playerid, COLOR_ULTRARED,\"Használd: /pmutat [iD/Név]\");
if(!IsPlayerConnected(id))return SendClientMessage(playerid, COLOR_ULTRARED,\"Nincs ilyen játékos!\");
else {
format(papirok,sizeof(papirok),\"%s megmutatta neked az engedélyeit.\",nev);
SendClientMessage(targetid,COLOR_YELLOW,papirok);
format(penze,sizeof(penze),\"Név: %s | Jogosítvány: %d | Repülõ engedély: %d \",nev,sInfo[playerid][jogsi],sInfo[playerid][repenged]);
SendClientMessage(targetid,COLOR_YELLOW,penze);
}
return 1;
}
-
if(sscanf(params,\"u\",id)) SendClientMessage(playerid, COLOR_ULTRARED,\"Használd: /pmutat [iD/Név]\");
if(sscanf(params,\"u\",id)) return SendClientMessage(playerid, COLOR_ULTRARED,\"Használd: /pmutat [iD/Név]\");
ez felesleges..
else {
illetve nem elég a név változó, le is kell kérni a nevét..
GetPlayerName(id, nev, sizeof(nev));
még1 megjegyzés, felesleges a nev változónak a 128 hossz, mert max asszem 24 lehet a neved hossza..
-
if(sscanf(params,\"u\",id)) SendClientMessage(playerid, COLOR_ULTRARED,\"Használd: /pmutat [iD/Név]\");
if(sscanf(params,\"u\",id)) return SendClientMessage(playerid, COLOR_ULTRARED,\"Használd: /pmutat [iD/Név]\");
ez felesleges..
else {
illetve nem elég a név változó, le is kell kérni a nevét..
GetPlayerName(id, nev, sizeof(nev));
még1 megjegyzés, felesleges a nev változónak a 128 hossz, mert max asszem 24 lehet a neved hossza..
Próbáltam,de nem jó. Server.exe ablakban ugyanazt írja \"sscanf error: system not initialized\" illetve ha simán beírom /pmutat akkor azt írja \"Használat: /pmutat [iD/Név]\",ha jó ID-t írok vagy ha rosszat akkor is ugyanezt írja az elsõ sscanf ellenõrzésnél nem megy tovább,mi lehet a gond?
Itt a szkript,így írtam át:
new targetid = strval(params);
new papirok[128];
new adatok[128];
new nev[24];
GetPlayerName(id, nev, sizeof(nev));
if(sscanf(params,\"u\",id)) return SendClientMessage(playerid, COLOR_ULTRARED,\"Használd: /pmutat [iD/Név]\");
if(!IsPlayerConnected(id)) return SendClientMessage(playerid, COLOR_ULTRARED,\"Nincs ilyen játékos!\");
format(papirok,sizeof(papirok),\"%s megmutatta neked az engedélyeit.\",nev);
SendClientMessage(targetid,COLOR_YELLOW,papirok);
format(adatok,sizeof(adatok),\"Név: %s | Jogosítvány: %d | Repülõ engedély: %d \",nev,sInfo[playerid][jogsi],sInfo[playerid][repenged]);
SendClientMessage(targetid,COLOR_YELLOW,adatok);
EDIT: Közben meg oldottam, \"#include <sscanf>\" helyett sscanf2 -õt kellet használni,most már jól megy.
-
Így?
new papirok[128];
new adatok[128];
new nev[24];
GetPlayerName(id, nev, sizeof(nev));
if(sscanf(params,\"u\",id)) return SendClientMessage(playerid, COLOR_ULTRARED,\"Használd: /pmutat [iD/Név]\");
if(!IsPlayerConnected(id)) return SendClientMessage(playerid, COLOR_ULTRARED,\"Nincs ilyen játékos!\");
format(papirok,sizeof(papirok),\"%s megmutatta neked az engedélyeit.\",nev);
SendClientMessage(id,COLOR_YELLOW,papirok);
format(adatok,sizeof(adatok),\"Név: %s | Jogosítvány: %d | Repülõ engedély: %d \",nev,sInfo[playerid][jogsi],sInfo[playerid][repenged]);
SendClientMessage(id,COLOR_YELLOW,adatok);