-
Posts
292 -
Joined
-
Last visited
-
Days Won
12
Content Type
Profiles
Forums
News
Documentation
Posts posted by [RW]Robi
-
-
new Float:STUNTNRG[10][4] = { {1025.9944,1975.8160,11.3449}, {1703.6294,2694.0879,10.8203}, {1972.5380,927.4847,10.8203}, {1938.6154,2184.8523,10.8203}, {1682.1293,1913.6169,10.8203}, {988.3104,1879.0475,11.3594}, {1458.3400,2523.8979,10.8203}, {2484.4036,1528.7244,10.9017}, {2225.0576,2520.0786,10.8203}, {1531.1907,2357.5469,10.8203} };
Pe viitor fi atent la ce scrii, acum ar trebui sa mearga.
-
Acum 18 ore, w1zzan a spus:
nu inteleg:)))
Atunci nu mai scripta, si stai pe tusa sa inveti.
-
banuiesc ca ai si un enum, nu?
Daca da, lasa enumul aici.
-
Pai si vrei sa ghicim noi eroarea ta?
-
Foloseste o variabila care sa iti citeasca daca lucrezi, ex:
daca el tasteaza comanda work:
CMD:work(playerid, params[]) { munceste[playerid] = 1; return 1; } CMD:gps(playerid, params[]) { if(munceste[playerid] > 0) return SendClientMessage(playerid, -1, "Deja lucrezi, foloseste comanda /stopwork"); return 1; } CMD:stopwork(playerid, params[]) { if(munceste[playerid] == 1) { munceste[playerid] = 0; } return 1; }
-
pune aici server_log
-
Acum 9 minute, LeetRomania a spus:
Pe questvalue se salveaza cat a facut playerul respectiv. De ex daca foloseste comanda: /fish sa se puna un +1 iar la 00:00 sa se reseteze si aia.
Ok, ok, cu codul de mai sus ar trebuii sa functioneze totul corect..
-
if(ora == 23 && minut == 59 && secunda == 59) { new str[256], sqlupdate[256], sqlcheck[512]; mysql_format(handle, str, sizeof(str), "UPDATE `players` SET `QuestValue` = '0'"); mysql_tquery(handle, str, "",""); mysql_format(handle, sqlcheck, sizeof(sqlcheck), "SELECT * FROM `players` ORDER BY `ID`"); new Cache: jucatori = mysql_query(handle, sqlcheck); for(new i = 0, c = cache_get_row_count(); i < c; i++) { new id = cache_get_field_content_int(i, "ID"); new value = random(10); mysql_format(handle, sqlupdate, sizeof(sqlupdate), "UPDATE `players` SET `Quest`='%d' WHERE `ID`='%d'", value, id); mysql_tquery(handle, sqlupdate, "", ""); for(new x = 0; x < MAX_PLAYERS; x++) { if(id == playerVariables[x][pID]) { playerVariables[x][pQuest] = value; } } } cache_delete(jucatori); }
Schimba cu asta, 2. Ce face pQuestValue si de ce tot il setezi pe 0?
-
Chiar acum, LeetRomania a spus:
Serios.
Deci daca nu sunt playeri online pe server, la ora 00:00 se reseteaza la toti pQuest si pQuestValue.
Daca intru pe server doar cu un cont, mie imi modifica variabilele dar la ceilalti offline nu le mai modifica.
Daca sunt 2 sau mai multi playeri online, la fel, modifica doar la ID 0 variabilele iar la ceilalti ramane la fel.
Cred ca inteleg ce vrei sa zici, ai adaugat la logare sa citeasca columnul din baza de date?
-
Acum 35 minute, LeetRomania a spus:
A aparut o problema. Daca un player este conectat, doar lui ii seteaza noua variabila cu random. La ceilalti nu, de ce oare?
Problema este doar cand un player este conectat. Daca nu este nimeni conectat se modifica la fiecare player, daca este cineva conectat doar la acel player. De ce?
Nu are cum, probabil nu te-ai exprimat tu bine.
-
if(ora == 23 && minut == 59 && secunda == 59) { new str[256], sqlupdate[256], sqlcheck[512]; mysql_format(handle, str, sizeof(str), "UPDATE `players` SET `QuestValue` = '0'"); mysql_tquery(handle, str, "",""); mysql_format(handle, sqlcheck, sizeof(sqlcheck), "SELECT * FROM `players` ORDER BY `ID`"); new Cache: jucatori = mysql_query(handle, sqlcheck); for(new i = 0, c = cache_get_row_count(); i < c; i++) { new id = cache_get_field_content_int(i, "ID"); new value = random(10); mysql_format(handle, sqlupdate, sizeof(sqlupdate), "UPDATE `players` SET `Quest`='%d' WHERE `ID`='%d'", value, id); mysql_tquery(handle, sqlupdate, "", ""); for(new i = 0; i < MAX_PLAYERS; i++) { if(IsPlayerConnected(i)) { if(id == PlayerInfo[i][pSQLID]) // in gamemode presupun ca ai o variabila care iti incarca ID-ul din SQL, daca nu e pSQLID, schimba cu variabila care ti-l incarca. { playerVariables[i][pQuestValue] = value; } } } } cache_delete(jucatori); }
- 1
-
Nu tu ai facut asa, SA-MP.ro ti-a facut asa, 2 daca nu respecti modelul nu te mai ajut.
Cer T/C si subiectul sa fie marcat ca rezolvat.
-
La 1/19/2017 la 12:47, JustRed a spus:
Nu am mai auzit așa ceva, să oprească LOOP-ul din prima.
Păi și atunci cum verifici de exemplu valoarea lui i ?
if(i == x)
{SendClientMessage(playerid, -1, "S-a ajuns la numarul: x");
break;
}Si nu se mai face numărătoarea mai sus, de exemplu dacă avem un loop de la 1 la 100 odată ajuns la un număr se oprește la respectivul număr.
Robică, te invit să faci o verificare la OnPlayerConnect și să pui return 1;
Din experiențele trecute vorbesc, nu mă aflu în treabă aiurea.
return 1; opreste continuarea unui cod, break; opreste un for.
Daca tu pui sus la OnPlayerConnect return 1; si mai jos ai variabile care sa se reseteze e si logic ca acele variabilele de la OnPlayerConnect nu se seteaza deoarece tu ai oprit continuarea.
2.Nu cred ca esti omul potrivit care sa ma traga la raspundere sa fim seriosi.
-
Acum 1 minut, LeetRomania a spus:
A mers. Multumesc mult. Primesti +1 de la mine. Doar mai raspunde-mi la o intrebare. Daca am random 10 imi pune numerele de la 1-10 sau de la 0 la 9?
de la 0 la 10 sau 9, nu sunt sigur.
Cer T/C acestui subiect si sa fie marcat ca rezolvat.
-
Acum 1 minut, LeetRomania a spus:
Stii, faza e ca vreau sa fac sa fie pentru fiecare player nu doar pentru contul cu ID-ul 1 in baza de date.
Hai ca ai noroc, mi-a venit o idee acum.
new ora,minute,secunde; gettime(ora, minute, secunde); if(ora == 0) { new sqlupdate[256],sqlcheck[512]; mysql_format(SQL, sqlcheck, sizeof(sqlcheck), "SELECT * FROM `users` ORDER BY `ID`"); new Cache: jucatori = mysql_query(SQL, sqlcheck); for(new i = 0, c = cache_get_row_count(); i < c; i++) { new id = cache_get_field_content_int(i, "ID"); new value = random(10); mysql_format(SQL, sqlupdate, sizeof(sqlupdate), "UPDATE `users` SET `NumeColumn`='%d' WHERE `ID`='%d'",value,id); mysql_tqueyr(SQL, sqlupdate, "", ""); } cache_delete(jucatori); }
- 1
-
Chiar acum, LeetRomania a spus:
eu am variabila pentru id-ul contului ID
ce inseamna acel `id` = '1'? Ce este id?
numele columnului `ID` care este egal cu 1, nu sunt sigur ca intelegi...
Daca IDUL in baza de date este 1 (primul inregistrat) acesta va primii acea valuta random in Columnulul pe care-l setezi, in cazul nostru NumeColumn.
-
Chiar acum, LeetRomania a spus:
Dar eu vreau sa fac si pentru playerii offline. Cum pot face asta?
E cam complicat, trebuie sa pui o cerinta ca sa nu fie pentru toti playeri la fel, de exemplu daca are id in baza de date egal cu 1, codul va functiona.
new ora,minute,secunde; gettime(ora, minute, secunde); if(ora == 0) { new sqlupdate[256]; new value = random(10); mysql_format(SQL, sqlupdate, sizeof(sqlupdate), "UPDATE `users` SET `NumeColumn`='%d' WHERE `id`='1'",value); mysql_tqueyr(SQL, sqlupdate, "", ""); }
-
Acum 2 minute, WopsS a spus:
Faci o iteratie (for) care trece prin toti jucatorii si pentru fiecare jucator si faci un nou random pentru jucatorul respectiv.
De exemplu folosesti la functia PayDay acest cod.
new ora,minute,secunde; gettime(ora, minute, secunde); if(ora == 0) { for(new i = 0; i < MAX_PLAYERS; i++) { if(IsPlayerConnected(i)) { new value = random(10); // value va fi diferit de alti jucatori, dar mai vor fi si cazuri in care variabila va fi egala cu a altor playeri, dar daca maresti randomul gen random(10000) nu prea sunt sanse sa fie la fel cu a altor jucatorii. } } }
-
Cer T/C acestui subiect si sa fie marcat ca rezolvat.
- 1
-
Chiar acum, bogdan@@@ a spus:
CMD:clan(playerid,params[])
{
if(PlayerInfo[playerid][pClan] == 0) return SendClientMessage(playerid, COLOR_YELLOW2, "Eroare: Nu faci parte dintr-un clan!");
ShowPlayerDialog(playerid, DIALOG_CLAN_COMMAND, DIALOG_STYLE_LIST, "Clan:", "Comenzile clanului\nMembrii clanului\nSetari", "Selecteaza", "Iesi");
return 1;
}Incarca pe pastebin, dai edit, am scris sintaxa sql gresita.
Asta e cea buna:
if(gPlayerLogged[playerid] > 0) { new sqlupdate[512]; mysql_format(SQL, sqlupdate, sizeof(sqlupdate), "UPDATE `users` SET `Clan`='%d',`ClanRank`='%d' WHERE `id`='%d'",PlayerInfo[playerid][pClan],PlayerInfo[playerid][pClanRank],PlayerInfo[playerid][pSQLID]); mysql_tquery(SQL, sqlupdate, "", ""); }
- 1
-
Lasa comanda /clan aici.
- 1
-
La 3/27/2016 la 8:22, iSkull a spus:
daca e gen "bugged" dc nu ai facut ca atunci cand intru cu un nume de vreo 7-15 caractere sau mai mult sa nu ti se duca textdraw-ul ?
De asta exista functia 'Aligment'
-
La OnPlayerLogin se incarca.
foloseste acest cod la OnPlayerDisconnect
if(gPlayerLogged[playerid] > 0) { new sqlupdate[512]; mysql_format(SQL, sqlupdate, sizeof(sqlupdate), "UPDATE `users` SET `Clan`='%d',`ClanRank`='%d' WHERE `id`='%d'",PlayerInfo[playerid][pClan],PlayerInfo[playerid][pClanRank],PlayerInfo[playerid][pSQLID]); mysql_tquery(SQL, sqlupdate, "", ""); }
-
Acum 1 oră, MrTuNNe a spus:
Ai putea sa-i dai in judecata mi se pare.
Nu ma complic, nu ma fac pe mine 250 de euro, am pierdut mii in unibet / winmaster / superbet.
PROBLEMA STUNT
in Arhivă probleme
Posted
pai spune ce eroare iti da ma omule.