DaNeX 5 Odesláno: 23. Duben, 2015 Share Odesláno: 23. Duben, 2015 (upraveno) Stáhnul sem si leveling systém a někde v něm jsou dvě chybičky které nedokážu rozpoznat. 1, Při příkazu /givexp se exp započítá (pouze do scriptfiles) ale ve hře v textdrawu je furt 0. Když zadám příkaz /givexp s 101 xp což je jeden level ,tak se přidá level. ale při /givelvl 1 zase nic .. 2, Při odpojení ze serveru a následném připojení se mě v klidu načte level/xp který sem měl. I ten který nešel kvůli playerupdate vidět dřive. Bohužel při restartování serveru se všem hodí vše na nulu. Prvně jsem si myslel že se to nějak blokuje z módem ale po přezkoušení na jiných to dělá furt.. Přikládám celý script jelikož je to freescript. http://www.solidfiles.com/d/af208d6268/Ranks.pwn Edited 23. Duben, 2015 by DaNeX Link to comment Share on other sites More sharing options...
0 Spra-Tekk 4 Odesláno: 23. Duben, 2015 Share Odesláno: 23. Duben, 2015 Myslím že ti to tu nikdo řešit nebude Link to comment Share on other sites More sharing options...
0 Ray 8 Odesláno: 23. Duben, 2015 Share Odesláno: 23. Duben, 2015 Jestli vydržíš do zítra, tak se na to mrknu Link to comment Share on other sites More sharing options...
0 Lukes_CZ 17 Odesláno: 23. Duben, 2015 Share Odesláno: 23. Duben, 2015 To by mě zajímalo, kterej stupidní idiot dává pwn soubor do .exe omg.. Link to comment Share on other sites More sharing options...
0 Matess 36 Odesláno: 23. Duben, 2015 Share Odesláno: 23. Duben, 2015 Zřejmě ten "stupidní idiot", kterej klikne na ten největší odkaz "Download" a nainstaluje si nějakej malware. CMD:givexp(playerid, params[]) { new ammount, ID, TargetName[MAX_PLAYER_NAME], PlayerName[MAX_PLAYER_NAME], str[128]; if(!IsPlayerAdmin(playerid))return SendClientMessage(playerid, -1, "ERROR: You need to be an admin to use this command!"); if(sscanf(params, "ui", ID, ammount)) return SendClientMessage(playerid, -1, "USAGE: /givexp <playerid> <1-99>"); if(ammount < 1 || ammount > 99) return SendClientMessage(playerid, -1, "ERROR: Invalid XP ammount. Number must be between 1 and 99."); if(!IsPlayerConnected(ID))return SendClientMessage(playerid,-1,"ERROR: Player is not connected."); { GetPlayerName(ID,TargetName,MAX_PLAYER_NAME); GetPlayerName(playerid,PlayerName, MAX_PLAYER_NAME); format(str, sizeof(str), "%s Has given you %d XP", PlayerName, ammount); SendClientMessage(ID, -1, str); format(str, sizeof(str), "You have given you %s %d XP", TargetName, ammount); SendClientMessage(playerid, -1, str); rInfo[ID][xp] += ammount; new string[125]; format(string,sizeof string,"~g~XP ~y~%d~n~~g~Level ~y~%d~n~~g~Prestige ~y~%d",rInfo[ID][xp], rInfo[ID][level], rInfo[ID][prestige]); PlayerTextDrawSetString(ID, RanksTD, string); } return 1; } Link to comment Share on other sites More sharing options...
0 Spra-Tekk 4 Odesláno: 23. Duben, 2015 Share Odesláno: 23. Duben, 2015 To by mě zajímalo, kterej stupidní idiot dává pwn soubor do .exe omg.. https://s21.solidfilesusercontent.com/YTU4ODE2NzZmZmVkNjAxYjIxZWY2MGQxZWZjODA0Nzk5NjNjOTk3NjoxWWxPOGM6UmNkaVZCWTVlN1BKcWpmOENhejdRRTRWbHhr/af208d6268/Ranks.pwn Link to comment Share on other sites More sharing options...
0 DaNeX 5 Odesláno: 24. Duben, 2015 Author Share Odesláno: 24. Duben, 2015 Dobrá práce Matess. Teď jen vyřešit druhou chybičku kde slýhává loading systém. Po restartu serveru jsou hodnoty ve scriptfiles jaké byli /Xp/lvl ale po připojení na server se to opět vynuluje vše. Takže to bude něco z načtením dat. Tak jestli někdo zkušenější se může na to juknout Link to comment Share on other sites More sharing options...
0 Matess 36 Odesláno: 24. Duben, 2015 Share Odesláno: 24. Duben, 2015 Pokud jsi na serveru a dáš reset, tak se můžeš jednoduše stát, že se tvé hodnoty vynulujou dřív než uložej a tudíž se přepíšou na nulu. Kdyby to byl GM, tak to asi funguje, ale nevím s FS. Zkus něco jako: public OnFilterScriptExit() { for(new i;i<100;i++) { if(IsPlayerConnected(i)) { new INI:file = INI_Open(Path(i)); INI_SetTag(file,"Player Levels"); INI_WriteInt(file,"XP",rInfo[i][xp]); INI_WriteInt(file,"Level",rInfo[i][level]); INI_WriteInt(file,"Prestige",rInfo[i][prestige]); INI_Close(file); } } } Link to comment Share on other sites More sharing options...
0 DaNeX 5 Odesláno: 25. Duben, 2015 Author Share Odesláno: 25. Duben, 2015 (upraveno) Nene ten reset mě hodnoty na nulu nedá. Na nulu mě je dá spawn nebo connect ( jinak po restartu serveru jsou hodnoty v scriptfiles uložené v cajku) jen mají problém načíst při tom connectu / spawnu Edited 25. Duben, 2015 by DaNeX Link to comment Share on other sites More sharing options...
0 Quiter 99 Odesláno: 25. Duben, 2015 Share Odesláno: 25. Duben, 2015 (upraveno) skús dať do onplayerconnect INI_Int("XP",rInfo[playerid][xp]); INI_Int("Level",rInfo[playerid][level]); INI_Int("Prestige",rInfo[playerid][prestige]); (To načítavanie hodnôt čo je tam použité je nad moje chápanie... ) Edited 25. Duben, 2015 by Quiter Link to comment Share on other sites More sharing options...
0 DaNeX 5 Odesláno: 25. Duben, 2015 Author Share Odesláno: 25. Duben, 2015 (upraveno) Načitání sem ještě v onplayerconnect takhle neviděl. Vůbec nevím jak to tam zapsat .. musel bys mě to napsat celé ,co zapsat do toho onplayerconnectu Zatím to mám ve vlastním publicu nahoře na přiložené fotografii dole. http://ctrlv.cz/mqC4 PS: napsal sem chybu.. Načítání funguje při odpojení a připojení serveru. Jen nefunguje po restartování serveru a následnem connectu/spawnu Edited 25. Duben, 2015 by DaNeX Link to comment Share on other sites More sharing options...
0 Quiter 99 Odesláno: 25. Duben, 2015 Share Odesláno: 25. Duben, 2015 public OnPlayerConnect(playerid) { INI_Int("XP",rInfo[playerid][xp]); INI_Int("Level",rInfo[playerid][level]); INI_Int("Prestige",rInfo[playerid][prestige]); // tvoje kódy v tomto publicu return true; } Link to comment Share on other sites More sharing options...
0 DaNeX 5 Odesláno: 26. Duben, 2015 Author Share Odesláno: 26. Duben, 2015 (upraveno) . Tak už sem si opatřil jiný. Tenhle mě žere jenom 4mb ram a 1/2% cpu. Tak díky za to ,že sem se měl kde jít vyplakat při nedaření ) Edited 26. Duben, 2015 by DaNeX Link to comment Share on other sites More sharing options...
Dotaz
DaNeX 5
Stáhnul sem si leveling systém a někde v něm jsou dvě chybičky které nedokážu rozpoznat.
1, Při příkazu /givexp se exp započítá (pouze do scriptfiles) ale ve hře v textdrawu je furt 0.
Když zadám příkaz /givexp s 101 xp což je jeden level ,tak se přidá level. ale při /givelvl 1 zase nic ..
2, Při odpojení ze serveru a následném připojení se mě v klidu načte level/xp který sem měl.
I ten který nešel kvůli playerupdate vidět dřive.
Bohužel při restartování serveru se všem hodí vše na nulu.
Prvně jsem si myslel že se to nějak blokuje z módem ale po přezkoušení na jiných to dělá furt..
Přikládám celý script jelikož je to freescript.
http://www.solidfiles.com/d/af208d6268/Ranks.pwn
Edited by DaNeX
Link to comment
Share on other sites
12 odpovědí na tuto otázku
Recommended Posts