-
Posts
45 -
Joined
-
Last visited
-
Days Won
3
Content Type
Profiles
Forums
News
Documentation
Posts posted by KruZZ
-
-
public OnPlayerDeath(playerid, killerid, reason) { new oldlevel; new newlevel; oldlevel = GetPlayerWantedLevel(killerid); newlevel = oldlevel + 1; new plFaction = P_Data[killerid][pMember] + P_Data[killerid][pLeader]; if(plFaction != 1) { SetPlayerWantedLevel(killerid, newlevel); SendClientMessage(killerid, COLOR_BRIGHTRED,"Your wanted level is increased!"); } else { if(GetPlayerWantedLevel(playerid) != 0) { new moneyAmount = 1000 * GetPlayerWantedLevel(playerid), stringCop[128]; GivePlayerMoney(killerid,moneyAmount); SetPlayerWantedLevel(playerid, 0); format(stringCop, 128, "You've killed a criminal and earned $%i", moneyAmount); SendClientMessage(killerid, COLOR_COP, stringCop[128]); } } return 1; }
Încearcă așa, probabil erai lider.
-
Nimeni nu-ți va da un sistem de /report aici. Ai putea, zic și eu, să te perfecționezi și să-l faci singur. Chiar dacă cineva ți l-ar da, probabil că nu ai reuși să-l integrezi cum trebuie în modul tău.
-
El se referea la faptul că poți avea redefinit MAX_PICKUPS în mod pe 100 (el default era 4096 parcă, sau ceva de genul).
Arată printul de la „Pickups Max = 100, Current Pickups = 156”.
-
Ai vreo variabila gen pLeader?
-
Deci, nu prea am înțeles ce vrei să facă script-ul. Să înțeleg că atunci când un player omoară pe cineva și nu e polițist să îi dea wanted, iar când e polițist să îl bage pe player-ul omorât la închisoare dacă are wanted. Am dreptate?
-
public OnPlayerDeath(playerid, killerid, reason) { new oldlevel; new newlevel; oldlevel = GetPlayerWantedLevel(killerid); newlevel = oldlevel + 1; if(P_Data[killerid][pMember] != 1) { SetPlayerWantedLevel(killerid, newlevel); SendClientMessage(killerid, COLOR_BRIGHTRED,"Your wanted level is increased!"); } else { if(GetPlayerWantedLevel(playerid) != 0) { new moneyAmount = 1000 * GetPlayerWantedLevel(playerid), stringCop[128]; GivePlayerMoney(killerid,moneyAmount); SetPlayerWantedLevel(playerid, 0); format(stringCop, 128, "You've killed a criminal and earned $%i", moneyAmount); SendClientMessage(killerid, COLOR_COP, stringCop[128]); } } return 1; }
Înceacă așa.
-
CMD:mobil(playerid, params[]) { if(P_Data[playerid][pAdminLevel] < 1) return SendClientMessage(playerid, -1, "[*] You're not a level 1+ admin!"); new str[128],id,pname[MAX_PLAYER_NAME]; new query[200]; P_Data[playerid][pmobil] += 1; if(sscanf(params, "us", id, params)) SendClientMessage(playerid, 0xFF0000FF, "Usage: /mobil<id> <pentu>"); else if(id == INVALID_PLAYER_ID) SendClientMessage(playerid, 0xFF0000FF, "ERROR: Player not connected"); GetPlayerName(playerid, pname, sizeof(pname)); mysql_format(handle, query, sizeof(query), "UPDATE `account` SET `mobil`='%d' WHERE `username`='%e'",P_Data[playerid][pDosar], pname);// se face update la baza de date a playerului mysql_query(handle, query);// se trimite mesajul catre baza de date. if(playerid == id) SendClientMessage(playerid, 0xFF0000FF, "ERROR: You cannot pm yourself!"); else { GetPlayerName(playerid, pname, sizeof(pname)); format(str, sizeof(str), "{FFFF00}Ai primit dosar {FFFFFF} %s {FFFF00}mobil: [%s].", pname, params); SendClientMessage(id, 0xFF0000FF, str); GetPlayerName(id, pname, sizeof(pname)); format(str, sizeof(str), "{FFFF00}I-ai dat lui {FFFFFF} %s {FFFF00} ", pname, params); SendClientMessage(playerid, 0xFF0000FF, str); } return 1; }
Încearcă așa.
// edit: s-ar putea să îți dea erori în baza de date de la acel „username” pus de mine, modifici cu ce ai tu în baza de date
-
Poftim: http://pastebin.com/MF74W7mQ
mysql_format(SQL,qqerry, sizeof(qqerry), "UPDATE `users` SET `Status` = '0' WHERE `name` = '%s'", namex);
Ai executat query-ul ăsta?
-
stock savePlayerData(const playerid) { if(PlayerData[playerid][pStatus] >= 1 || PlayerData[playerid][pStatus] == -1) { new saveQuery[1000]; if(PlayerData[playerid][pStatus] == -1) PlayerData[playerid][pStatus] = 0; format(saveQuery, sizeof(saveQuery), "UPDATE playeraccounts SET playerGift = '%d', playerBanned = '%d', playerSeconds = '%d', playerSkin = '%d', playerMoney = '%d', playerBankMoney = '%d', playerHouse = '%d', playerBusiness = '%d' WHERE playerID = '%d'", PlayerData[playerid][pGift], PlayerData[playerid][pBanned], PlayerData[playerid][pSeconds], PlayerData[playerid][pSkin], PlayerData[playerid][pMoney], PlayerData[playerid][pBankMoney], PlayerData[playerid][pHouse], PlayerData[playerid][pBusiness],PlayerData[playerid][pInternalID]); mysql_tquery(handle,saveQuery); } return 1; } Și rândurl ăsta e pus chiar după celălalte, acolo unde se încarcă. cache_get_field_content(0, "playerGift", result); PlayerData[extraid][pGift] = strval(result);
În baza de date, trebuie să faci în loc de „Gift”, „playerGift”, pentru că așa o salvezi:
playerGift = '%d'
-
Folosind INSERT, tu acolo practic creezi încă o linie în baza de date. Ca să o pui pe linia creată pentru player, folosește UPDATE.
Adica, în loc de:
mysql_format(handle, query, sizeof(query), "INSERT INTO evo_account (email) VALUES ('%s')", inputtext);// se insereaza in tabelul cu conturi numele playerului, parola pe care a scris-o si ip pe care il are mysql_query(handle, query);// se va trimite setarile si se va interoga callback-ul OnRegistration
Ar fi:
new playername[MAX_PLAYER_NAME]; GetPlayerName(playerid, playername, MAX_PLAYER_NAME); mysql_format(handle, query, sizeof(query), "UPDATE `evo_account` SET `email` = '%e' WHERE `Nume` = '%e'", inputtext, playername); mysql_query(handle, query);
Ca să înțelegi, când player-ul își face cont, un nou item se creează în tabelul „evo_account”. Când își bagă e-mail-ul, tu trebuie să updatezi acel item creat în acel tabel. Ca să faci asta, îl identifici după ceva anume. Aici l-am identificat după nume.
În mysql_format îți recomand să folosești specifier-ul „%e”, ca să te păzești de sql injection. Poți citi despre sql injection aici: http://www.w3schools.com/sql/sql_injection.asp.
Dacă vrei să înveți limbajul SQL, poți intra aici: http://www.w3schools.com/sql/default.asp.
-
La ieșire trebuie să-i actualizezi variabila 'Status' din baza de date, setând-o pe 0. Ca o măsură suplimentară, ai putea să setezi statusul tuturor playerilor din baza de date pe 0.
-
Arată script-ul cu salvarea și cel cu încarcarea.
-
Ti-am dat add pe skype, vorbim acolo daca mai esti interesat.
-
Verifică dacă se salvează și încarcă banii. Verifică dacă ai scris corect variabila în care le salvezi (aici vorbesc de mysql). Verifică și la încarcărcare dacă e scrisă corect.
-
Arată server_log și server.cfg. Verifică dacă versiunile plugin-urilor/include-urilor.
-
Folosește mysql_static.so
// EDIT: abia acum am văzut că rezolvasei problema aia. verifică tabelul cu playerii, poate are vreo problema.
-
Probabil ID-urile distribuite mașinilor cumpărate din DealerShip se suprapun cu ID-urile mașinilor de la case. Trebuie integrat in mod acel filterscript ca să rezolvi.
-
Poziţie: scripter / mapper / altceva (specificaţi): scripter
Ce servicii pot oferi: Pot realiza/edita sisteme si gamemode-uri la cererea clientului (prețul variază în funcție de complexitate). De asemenea, pot realiza UCP-uri moderne, cu design ales de client (variază de asemenea în funcție de complexitatea scripturilor).
Alte detalii: Timpul de execuție variază în funcție de timpul meu liber. Plata se face după testarea lucrării, dar nu dau primul. Prețurile le negociem în privat. Îmi dați PM cu ID-ul vostru de Skype si discutăm. Plata se face numai prin PaySafe Card.
Problema comanda
in Arhivă probleme
Posted
Deci, nu înțeleg, ce nu se afișează corect?