-
Posts
198 -
Joined
-
Last visited
Content Type
Profiles
Forums
News
Documentation
Posts posted by Rayan
-
-
Acum 8 minute, Banditul a spus:
format(query, sizeof(query), "SELECT * FROM `emails` WHERE `playerid` = '%d' ORDER BY `ID` DESC LIMIT 10
In:
format(query, sizeof(query), "SELECT * FROM `emails` WHERE `playerid` = %d ORDER BY `ID` DESC LIMIT 20 // primele 20
Si ca sa afiseze mai multe modifici doar acel limit
Da stiu asta, insa daca are mai multe email-uri necitite decat cate poate sa arate /emails? gen pot pune 20 si daca are 21? 1 ii ramane necitita si il tot spameaza* acel timer la 2 min (asa am setat) ca atunci cand are un email nou sa ii dea un mesaj "You have a new email, use /email".
Faza e ca as vrea sa stiu cum as putea face sa arate mai mesajele necitite si dupa cele necitite sa fie cele sortate dupa ID(adica ultimele trimise citite)
-
Salut, am o problema la /emails, faza este ca atunci cand un jucator primeste un email il are ca necitit, insa, daca gen primeste 11 email-uri noi (si sunt 11 necitite) in /emails arata doar primele 10 sortate dupa ID, faza e ca le face pe toate cele 10 citite, insa mai ramane 1 de citit insa nu il poate selecta deoarece in lista de /emails apar doar primele 10.
Cum as putea face ca atunci cand dai /emails sa iti arate mai intai mesajele necitite si mai jos de ele cele citite sortate dupa ID?
CMD:email(playerid, params[]) { if(gPlayerLogged[playerid] == 0) return SendClientMessage(playerid, COLOR_LIGHTRED, "You need to log in first."); if(IsPlayerConnected(playerid)) { new result[300],message[300],string[5000],read,message2[100],finalmessage[100],query[500],emailid,idd=0; format(query, sizeof(query), "SELECT * FROM `emails` WHERE `playerid` = '%d' ORDER BY `ID` DESC LIMIT 10", PlayerInfo[playerid][pSQLID]); new Cache: emailresult = mysql_query(SQL, query); if(cache_get_row_count() > 0) { for(new i, j = cache_get_row_count (); i != j; ++i) { cache_get_field_content(i, "Message", result); format(message, sizeof(message), result); read = cache_get_field_content_int(i, "EmailRead"); emailid = cache_get_field_content_int(i, "ID"); EmailId[playerid][idd] = emailid; idd++; if(strlen(message) > 49) { strmid(message2, message, 0, 50, sizeof(message2)); format(finalmessage,sizeof(finalmessage), "%s...",message2); } if(read > 0) { if(PlayerInfo[playerid][pLanguage] == 2) { format(string, sizeof(string), "%s[NECITIT]%s\n", string, finalmessage); } else { format(string, sizeof(string), "%s[UNREAD]%s\n", string, finalmessage); } } else { format(string, sizeof(string), "%s%s\n", string, finalmessage); } } } else return SendClientMessage(playerid, COLOR_WHITE, "You don't have a email!"); cache_delete(emailresult); ShowPlayerDialog(playerid,DIALOG_EMAILS,DIALOG_STYLE_LIST,"Emails",string,"Read","Exit"); } return 1; }
-
La 11/6/2017 la 22:53, Mister a spus:
De ce nu copiezi acele textdrawuri care tu zici ca iti merg? doar schimbi numele
Il am in alta parte gen pe asta de la payday apare in stanga iar celalalt e pt joburi (in dreapta). Respectivu e pt playeri iar asta pt payday e global, insa nu inteleg ce e gresit, asa am si la celelalte TextDrawUseBox pe true si nu stiu ce are, textul nu apare deloc. am incercat si asa
iar textul nu apare deloc, e invizibil practic
format(string3, sizeof(string3), "~w~payday arrived"); TextDrawSetString(boxPAYDAY, string3); TextDrawShowForPlayer(i, boxPAYDAY);
-
Acum 18 ore, Mister a spus:
Textdrawul tau este creat doar ca box nu pentru nume, trebuie modificat
am si la alte box-uri acel TextDrawUseBox fiind pe 'true', si la acelea merge sa pun text, la asta de ce nu pot? cum as putea rezolva?
-
Acum 2 ore, Mister a spus:
Arata tot textdrawl cum este creat
-
Salut, am incercat sa fac un box pentru payday, insa cand incerc sa scriu un mesaj sa setez un string nu merge..nu apare textul, apare doar box-ul gol.
format(string, sizeof(string), "Bani: $%s~n~Interes: $%s", Form(bani), Form(interes)); TextDrawSetString(boxPAYDAY, string); TextDrawShowForPlayer(i, boxPAYDAY);
-
La 10/14/2017 la 19:48, Banditul a spus:
Pai nu ti se conecteaza la MySQL. Ma pot gandi la 2 lucruri:
Nu-ti porneste mysql din xampp(sau ce ai tu)
Sau ai gresit datele de conectare(cel mai putin probabil)
le am conectate, corect, deoarece pot intra pe server, pot face orice, insa imi apar acele errori in server_log.
-
Salut, tot primesc anumite errori legate de MySQL in server_log, chiar nu inteleg de ce primesc aceste errori.
server_log:
[18:16:15] Error ID: 2003, Error: Can't connect to MySQL server on 'localhost' (10061) [18:16:15] Callback: [18:16:15] gQuery: DELETE FROM `timeplayed` WHERE `unixtime` < '1502723773' [18:16:15] ==================================================================== [18:16:17] ==================================================================== [18:16:17] Error ID: 2003, Error: Can't connect to MySQL server on 'localhost' (10061) [18:16:17] Callback: [18:16:17] gQuery: DELETE FROM `antifraudaraport` WHERE `time` < '1507907773' [18:16:17] ==================================================================== [18:16:19] ==================================================================== [18:16:19] Error ID: 2003, Error: Can't connect to MySQL server on 'localhost' (10061) [18:16:19] Callback: [18:16:19] gQuery: UPDATE `blockedaccounts` SET `unblock`='0',`key`='',`linkexpire`='0' WHERE `unblock` < '1507648573' [18:16:19] ==================================================================== [18:16:21] ==================================================================== [18:16:21] Error ID: 2003, Error: Can't connect to MySQL server on 'localhost' (10061) [18:16:21] Callback: [18:16:21] gQuery: UPDATE `blockedaccounts` SET `linkexpire`='0',`key`='' WHERE `linkexpire` < '1507907773' [18:16:21] ==================================================================== [18:16:47] [part] RedGun has left the server (0:1) [18:16:49] ==================================================================== [18:16:49] Error ID: 2003, Error: Can't connect to MySQL server on 'localhost' (10061) [18:16:49] Callback: [18:16:49] gQuery: UPDATE `users` SET `CarLic`='1',`FlyLic`='1',`BoatLic`='1',`GunLic`='1',`CarLicT`='495',`FlyLicT`='495',`BoatLicT`='495',`GunLicT`='495',`Rob`='23',`Jailed`='0',`HitT`='0',`Muted`='0',`MuteTime`='0' WHERE `name`='RedGun' [18:16:49] ====================================================================
-
Acum 15 ore, StR_Marian a spus:
De ce incerci sa iti salvezi hp/armura ? tu esti o fantoma find spec nu este nevoie sa fie salvat hp/armura si la coordonate fa in DB sa ramana salvat coordonatele dupa ce dai spec altfel daca dai pe a doua persoana salveaza datele de la ultima persoana ... adica daca tu esti in fata la LSPD si prima persoana ce dai spec este in SF si dupa dai pe o alta ce este in LV tie iti ia coordonatele de la persoana din SF, si in asa fel cu crearea coordonatelor in DB atunci cand dai /spec se salveaza si cand dai /specoff sau pe butonul ALT iti da coordonatele ce le-ai avut de la bun inceput si se sterg cand dai specoff.
Nu man, inainte sa ma puna spectator verifica daca sunt sau nu spectate pe cineva, daca nu sunt adica pSpectate[playerid] == -1 (nu sunt spec) imi salveaza coordonatele, ex: nu sunt Spectate, dau /spec 1 imi salveaza pozitia mea, nu la jucator, dupa daca nu ies din spec si dau spectate pe altcineva /spec 2 (cum am zis mai devreme, nu imi salveaza pozitia daca sunt deja spec pe cineva), si dupa cand dau ALT ma da la pozitia salvata din primul spec.
Sunt LSPD, dau /spec 1 el e la Paramedic SF, dau /spec 2 el e LV, dau ALT ma da LSPD (unde eram initial), insa problema e ca caotedata nu ma da la pozitia salvata, ma da la spawn.
-
La 10/9/2017 la 16:25, Banditul a spus:
Pentru ca tu incerci sa salvezi intr-o variabila o functie care de fapt intoarce o valoare prin referinta
http://wiki.sa-mp.com/wiki/GetPlayerHealth
Trebuie sa pui acel BeforeSpectacting in GetPlayerHealth pentru ca tu vei avea mereu 1 in acea variabila pentru ca functia intoarce 1 daca a putut lua viata...
Si nu ai la specoff SetPlayerPos si etc(ca sa seteze pozitia veche) sau nu vad la specoff ca dai (re)spawn la player ca sa fie chemata functia OnPlayerSpawn...
adica ceva de genul?
GetPlayerHealth(playerid, BeforeSpectate[playerid][pHealth]); GetPlayerArmour(playerid, BeforeSpectate[playerid][pArmour]);
-
Salut, cateodata pe server cand dau ALT sa ma pun Spec OFF inloc sa ma dea in pozitia salvata (atunci cand dau /spec [id] inainte sa ma puna spec imi salveaza locatia) cateodata imi da spawn si nu ma mai teleporteaza in locatia salvata.
Si am facut sa mi se salveze Hp-ul si Armura, insa la fel, cand dau spec off nu imi pune HP-ul si Armura pe care i-am avut initial. (imi pune HP 1 si Armura 1)
OnPlayerSpawn: https://pastebin.com/47rPrz58
Cand salvez la /spec pozitia la jucator: https://pastebin.com/CmkLdhfL
Si Spec OFF de pe ALT: https://pastebin.com/71hYNUyu
-
rezolvat.
-
Salut, tot primesc acest mesaj in server_log , habar nu am ce ar trebui sa fac sa rezolv problema
scanf warning: No default value found.
-
Acum 4 ore, 97fresh a spus:
IsPlayerInRangeOfPoint(playerid, Float:range, Float:x, Float:y, Float:z)
ai incercat sa maresti raza la if(!IsPlayerInRangeOfPoint(playerid, 1, 1552.5898, -1683.4698, 13.5504)) ??
in loc de 1 sa pui de ex 5?
Da, am pus ei 30 si degeaba. trebuie sa fi in dozator la propriu ca sa functioneze
-
Am incercat sa modific locatia unde sa se execute OnPlayerUseVendinMachine, insa nu merge, ca sa folosesc dozatorul trebuie sa fiu in el practic, nu in fata lui. Am incercat sa sterg si IsPlayerInDynamicArea insa tot nu merge. trebuie sa fiu practic in locul unde el pozitionat X,Y,Z, nu in fata lui.
Folosesc include-ul vending.inc
Cum pot rezolva?
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys) { if((newkeys & KEY_SECONDARY_ATTACK) && (GetPlayerAnimationIndex(playerid) != 1660)) { for(new i; i < MAX_MACHINES; i++) { if(!IsValidVendingMachine(i)) continue; #if defined Streamer_IncludeFileVersion if(!IsPlayerInDynamicArea(playerid, g_eVendingData[i][E_VENDING_AREA])) continue; #else new Float:x, Float:y; GetXYInFrontOfVending(i, x, y, 0.5); if(!IsPlayerInRangeOfPoint(playerid, 1, 1552.5898, -1683.4698, 13.5504)) continue; #endif SetPlayerFacingAngle(playerid, g_eVendingData[i][E_VENDING_RZ]); if(OnPlayerUseVendingMachine(playerid, i) != 0) { if(g_eVendingData[i][E_VENDING_TYPE] == MACHINE_SNACK) { ApplyAnimation(playerid, "FOOD", "EAT_Burger", 3.0, 0, 0, 0, 0, 0, 1); PlayerPlaySound(playerid, 42601, 0.0, 0.0, 0.0); } else { ApplyAnimation(playerid, "VENDING", "VEND_USE", 3.0, 0, 0, 0, 0, 0, 1); PlayerPlaySound(playerid, 42600, 0.0, 0.0, 0.0); SetTimerEx("OnAnimationDrink", 1800, false, "i", playerid); } #if !defined NO_SPRUNK_ACTION if(g_eVendingData[i][E_VENDING_TYPE] == MACHINE_SPRUNK) SetTimerEx("ven_SetPlayerAnimation", 2500, false, "i", playerid); #endif } else ClearAnimations(playerid); } } #if !defined NO_SPRUNK_ACTION else if((newkeys & KEY_FIRE) && g_eLastDrink[playerid] < GetTickCount() && (GetPlayerSpecialAction(playerid) == SPECIAL_ACTION_DRINK_SPRUNK)) { OnPlayerDrinkSprunk(playerid); g_eLastDrink[playerid] = GetTickCount() + 2350; } #endif #if defined inc_Ven_OnPlayerKeyStateChange return inc_Ven_OnPlayerKeyStateChange(playerid, newkeys, oldkeys); #else return 0; #endif }
-
Acum 54 minute, Banditul a spus:
http://forum.sa-mp.com/showthread.php?t=296171
Din cate vad ca scrie, ai nevoie de baza de date (are in jur de 500-600mb). Trebuie pusa in scriptfiles , asta daca nu o ai
Mersi, aveam doar 1 fisier din 2 .. mersi mult
-
Salut, folosesc include-ul geolocation, insa cand folosesc GetPlayerCountry apare defiecare data Unknown indiferent din ce tara este, cum pot rezolva?
-
bump
-
Multumesc, solved
-
Acum 4 minute, webby a spus:
format(gString, sizeof gString, "SELECT * FROM `crimes` WHERE `id` = '%d'", PlayerInfo[id][pSQLID]);
Aici iti ia id-ul jucatorului, nu id-ul crimei.
done am modificat cu format(gString, sizeof gString, "SELECT * FROM `mdc` WHERE `playerid` = '%d' ORDER BY `id`", PlayerInfo[id][pSQLID]); si la fel problema de mai sus persista.
----
crima e 'motiv' vad ca acum se insereaza problema e ca daca dau /su [nume] [wanted] [motiv] se creeaza in baza de date daca ID e primar (cheie) si daca e primar nu merge sa inserez mai multe, adica nu se insereaza daca ii dau /su de mai multe ori la jucator. Daca nu e primar 'id' se insereaza cu acelasi id, gen inloc sa puna id la tabel 1,2,3,4 pune 0,0,0 (doar daca id nu e primar, daca e primar se insereaza doar odata 0 si atat, 1,2,3 nu se mai insereaza)
mysql_format(SQL, gString, sizeof gString, "INSERT INTO `crimes` (`playerid`, `motiv`, `declare`) VALUES ('%d', '%s', '%s')", PlayerInfo[playerid][pSQLID], motiv, declare); mysql_pquery(SQL, gString, "", "");
-
Acum 28 minute, webby a spus:
cum este definit id-ul crimei, in gamemode?
crima e 'motiv' vad ca acum se insereaza problema e ca daca dau /su [nume] [wanted] [motiv] se creeaza in baza de date daca ID e primar (cheie) si daca e primar nu merge sa inserez mai multe, adica nu se insereaza daca ii dau /su de mai multe ori la jucator. Daca nu e primar 'id' se insereaza cu acelasi id, gen inloc sa puna id la tabel 1,2,3,4 pune 0,0,0 (doar daca id nu e primar, daca e primar se insereaza doar odata 0 si atat, 1,2,3 nu se mai insereaza)
mysql_format(SQL, gString, sizeof gString, "INSERT INTO `crimes` (`playerid`, `motiv`, `declare`) VALUES ('%d', '%s', '%s')", PlayerInfo[playerid][pSQLID], motiv, declare); mysql_pquery(SQL, gString, "", "");
-
Acum 15 minute, webby a spus:
E ok, merge, insa am o problema, cand dau /mdc arata doar prima crima cu ID 1. de ce nu le arata pe toate?
-
Salut, incerc sa fac un sistem de MDC insa cand folosesc comanda /mdc nu apar crimele comise, de ce? cand folosesc /su merge se insereaza in baza de date toate datele necesare, insa nu stiu de ce NU merge sa arate mdc
Cine stie poate posta aici, ii voi fi recunoscator!
-
bump
Problema /emails
in Arhivă probleme
Posted
Merge, insa imi apar doar mesajele necitite, eu vreau gen sa arate ca primele mesaje fiind cele necitite si dupa mai jos de ele sa fie cele citite
ceva de genu: