MR_FINE
-
Příspěvků
9 -
Registrován
-
Aktivní
Content Type
Profiles
Forums
Calendar
Gallery
SA-MP
Příspěvky posted by MR_FINE
-
-
zkoušel jsem to se sscanfem a pořád to crashuje
EDIT: můj momentální kód na /setlvl vypadá takto:if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1, "{FF0000}Nejsi RCON Admin,nemůžeš dávat lvl!");
new id = strval(params[0]);
new lvl = strval(params[1]);
if (sscanf(params, "ud", id, lvl)) SendClientMessage(playerid, -1,"použijte: /setlvl [iD] [LVL]");
if(!IsPlayerConnected(id)) return SendClientMessage(playerid, -1, "Zadané ID buď není připojeno nebo je zadáno číslo přes Maximální počet slotů");
if(strval(params[1]) > 5 || strval(params[1]) < 0) return SendClientMessage(playerid, -1, "Nesprávný level! Rozmezí levelu 0-5");
va_SendClientMessageToAll(-1, "Administrátor %s nastavil hráči %s AdminLevel %d", PlayerName(playerid), PlayerName(id), lvl);
Admin[id] = lvl; -
~> Při multiparametrech se spíše více hodí sscanf2 (doporučeno),
~> v knihovně můžeš nalézt inlcude y_va, který má již zpracované některé funkce s par. včetně SCM a SCMTA, takže nemusíš je formatovat.
~> nemusíš ještě zbytečně k podmínkám přidávat else,
~> přidáváš level jen sám sobě (AdminLevel[playerid]),
~> díky y_utils můžeš na kontroluj jestli nezadal žádné parametry použít světoznámé isnull(po případě ten sscanf),
~> v poslední podmínce kontroluješ délku toho textu, tobě stačí kontrolovat, jaké číslo zadal (strval).
1. ten sscanf2 zkusím,snad to už nebude crashovat
2. dík,to jsem nevěděl,YSI mám teprve chvíli,ale už teď vím,že usnadňuje dost práci když se s ním člověk naučí
3.To jsem jen zkoušel,zda-li to nepomůže....I když to je blbost
4. Dík,to jsem přehlédl tu moji chybku.
6.Ok
jinak chybka je v této podmínce :
if(!strlen(params[0]) && !strlen(params[1])) return SendClientMessage(playerid, -1, "[help] tento příkaz použijte takto: /setlvl [iD] [level]"); //toto je ten řádek,který mi crashuje hru (nejspíše)mělo by podle mně být:
No nwm,možná že ano,ale crashuje to pořád
-
Ahoj všichni,
Připadám si jako totální cvok,protože tuto funkci jsem uvedl nejméně 12X do svých filterscriptů a Gamemodů a vždy fungovala bez problému.Až do teď.Nechápu vůbec proč,ale v určité formě mi padne server po zadání příkazu.
Kód příkazu setlvl:YCMD:setlvl(playerid,params[],help) { if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1, "{FF0000}Nejsi RCON Admin,nemůžeš dávat lvl!"); new id = strval(params[0]); new lvl = strval(params[1]); if(!strlen(params[0]) && !strlen(params[1])) return SendClientMessage(playerid, -1, "[help] tento příkaz použijte takto: /setlvl [ID] [level]"); //toto je ten řádek,který mi crashuje hru (nejspíše) else if(!IsPlayerConnected(id)) return SendClientMessage(playerid, -1, "Zadané ID není připojeno"); else if(strlen(params[1]) > 5 || strlen(params[1]) < 0) return SendClientMessage(playerid, -1, "Nesprávný level! Rozmezí levelu 0-5"); new str[1200],str1[1200]; format(str,sizeof(str), "{00FF00}Administrátor %s ti udělil AdminLevel %d .Level ti byl automaticky uložen.Příkazy najdeš na /mas",PlayerName(playerid), lvl); format(str1,sizeof(str1), "{00FF00} Udělil si hráči %s AdminLevel %d .Level mu byl automaticky uložen",PlayerName(id), lvl); SendClientMessage(id, -1, str); SendClientMessage(playerid, -1, str1); Admin[playerid] = lvl; return 1; }
Vše funguje jak má......přihlásím se k RCONu, zadám /setlvl 0 5 a vše funguje.Ale pokud zadám jen /setlvl tak..........server spadne.Prosím o radu, jak toto vyřešit,neboť fakt už nevím............ PS: vím že tam ještě není ukládání,ani tam není rozlišení mezi Udělením LVL a odebráním lvl
Děkuji za jakkoukoliv odpověď či snahu pomoct -
Ten error tam máš z důvodu že si napsal GetPlayerVehicleId(playerid); přitom je to GetPlayerVehicleID(playerid); Nezapomínej totiž, že jazyk pawna je citlivý na VELKÁ a malá písmena.
-
Ano,stejně i kdyby to bylo popsané písmeno po písmeni, většina lidí udělá CTRL+C a CTRL+V,a poté akorát budou psát něco ve stylu: "mě to nejde pomoz plz" nebo "Hází mi to errory: ×××××××" jinač jak řekl VladaSavel.
-
Já bych okomentoval spíše pozitivně.......na to že je to první tutoriál tak pěkné.Sic mohl okomentovat celkově funkce (nějaké začátečníky by mohlo zajímat celkově co je switch,forward............), ale snaha se cení.
Crash serveru po zadání formy příkazu
v Herní (SA:MP, CS apod.)
Odesláno:
na konec jsem se dopracoval k tomuto kódu:
A ku podivu už server nepadá Děkuju za pomoc a také za tipy k YSI (SkiBig18).