Jump to content

Daedric-Fox

V.I.P
  • Posts

    959
  • Joined

  • Last visited

  • Days Won

    27

Everything posted by Daedric-Fox

  1. Da, se pot utiliza si filterscripturi.
  2. Daedric-Fox

    erori

    Fă te rog o poza care sa cuprinda primele erori, legat de erorile de la linia 472, nu sunt bun, deoarece acele erori apartin de includeul mSelection, p\virtual\pawno\include\mSelection.inc(472) : deci poti cauta un include bun, sau rezolvi eroarea din el, cat despre primele erori, uploadeaza poza pe imgur.
  3. Daedric-Fox

    erori

    Salut, arata-mi si liniile te rog,pentru a te putea ajuta.
  4. ce bun esti tu esti mai bun ca Kalcor însuși trebuie sa luam lectii de la ti e ce sa zic, hai ca mi s.a luat de voi :))Mi se rupe oricum de tine si de parerile tale.Ramai cu gandul ca esti bun ca sigur o sa ai mare succes.
  5. ma faci sa rad, mai nou de cand ai devenit moderator pe adversa te crezi si scripter bun:)) Hai ca eu iti dau o șansă, sa dovedești, ce poti, eu ma retrag din samp dupa cum scrie si deasupra nickname.ului de ceva timp, si uite ca poate ai si tu o sansa la moderator, oricum esti un nimic oriunde ai fi Hai ceau :* va doresc o viata cat mai ușora, si tie si celorlalti hateri.
  6. *reiau povestea,ipb nu ma mai lasa sa scriu* Apoi am trecut la mysql asta prin vara 2014, unde am ajuns sa evoluez mai mult cu ajutorul lui saints si cu ajutorul gm.ului lui @WopsS, unde bagam sisteme din saints in ala, crede.ma ca tu nici acum nu poti extrage un sistem complet dintr.un gm si sa.l adaptezi. Apoi am facut si alte ExpertGame.uri, care le facusem eu de la 0, eu nu m.am cacat pe mine ca altii, sa iau gm de pe net sa editez, eu voiam sa invat, si pe vremea cand tu imi cereai mie ajutorul, nu.ti aduci aminte nu? Acum sa revin.Apoi toata ziua il frecam oe Wopss sau pe Wid la cap sa ma ajute, da frate, nu mi.e rusine, eu asa am învățat, cu ajutorul lor l, dar eu spre deosebire de altii, AM ÎNVĂȚAT, nu am cerut doar mura.n gura, am zis.o peste tot pe unde am fost întrebat, Wopss m.a ajutat foarte mult sa invat si ii sunt recunoscător, dar pe lângă ca m.a ajutat el, m.am chinuit si eu nu am stat doar sa cersesc, ca altii.Nu mai stau sa povestesc ca o sa va ia razna ochii. Acum despre U.G, acel gm, a ramas neterminat, versiunea care ai primit.o tu?Da avea bug.uri, dar crede.ma ca stiu sa le repar, spre deosebire de tine, cand nu stii ceva spui ca nu mai vrei sau alte chestii gen *Unnic* te.au pus sa repari ceva te.ai retras, am oferit servicii de scripting, si ocazional ofer, ai gasit vreo plangere la adresa mea? Ca nu ma pricep sau ceva? nu cred. asa ca nu ma mai manca tu de co**e, ca ti.e tie ciuda de nu stiu ce. Niciodata nu m.am considerat cel mai bun, nici printre cei care eram, le ziceam ca stiu cat de cat. Cu toate ca nivelul meu, spre deosebire de alti este cu mult peste, dar am preferat sa.mi vad de treaba mea. Tu ii cam sugi pe toti de pl si dupa te duci sa te dai mare, sa.i vorbesti pe la spate si alte porcarii, stai in banca ta, ca imca esti copil de tață.
  7. @KnowN, invata să citești, sau sa intelegi cand este vorba despre tine, eu vorbeam despre @Tud0r., acolo apoi te-am menționat pe tine, dar tu nu aveai legatura cu faptul ca toti din acel grup sunt peste nivelul tau, dar daca tu te.ai simțit, ce sa zic, uneori te mai dai de gol si singur. Acum, draga @Tud0r., tu stii niste povesti, dar nu le stii pe toate, daca le stii, le stii prost, chiar crezi ca eu o sa spun tot cuiva care înflorește tot ce prinde? Hai sa.ti explic eu cum a stat treaba cu ExpertGame.ul, in 2013 pe la sfarsit aproape de 2014 mi.am luat o mare teapa, eram si eu genul copilasilor de acum, voiam sa deschid server, doar ca nici atunci nu eram prost, deschideam server pe banii altora.Sa trecem peste, am gasit pe unu, care facea gm.uri cica..i.am dat 25 de lei mi.a dat un gm, dupa il frecam la cap, ca vreau aia ca vreau aia etc, ca dupa 2 zile sa nu.mi mai raspunda.Am intrat frumos pe google, si am cautat "gamemode samp" exact asa, si am luat toate gm.urile alea si am dat si de cel pe care "mi.l facuse" ala si mi.a. dat seama ca e teapa.Am inceput sa descarc tot felul de gm.uri, și modificam numele, asta pe vremea cand tu inca erai la Abecedar.Apoi usor usor modificand in fiecare zi, mi.am dat drumul la mâna, apoi am dat din intamplare de samp ro, unde, incepusem sa cer tutoriale in fiecare zi, poate confirma si @WiDuAlK sau @WopsS, daca isi mai aduc aminte.Cand am vazut ca nu.mi raspunde nimeni, am intrat si mai tare in paine.Si am facut primul meu tutorial cel cu Dealershipul, care bine inteles ca e o panaramă, dar pe vremea aia, si tinand cont ca nu ma ajutase nimeni, si nici macar de wiki nu stiam, crede.ma @Tud0r. ca.ti depășește si nivelul tau de acum
  8. eu ti.am mai explicat tie odata cam care e treaba, dar tu nu prea intelegi vad, asa, dupa parerea ta cativa din acel grup nu sunt scripteri, dar uite care e treaba, te asigur ca fiecare din acel grup este cu mult peste nivelul tau, deci nu ai niciun drept sa vii sa spui ca o persoana din acel grup nu e buna,daca venea @WopsS si spunea asta, cam dadea de banuit, dar tu pune si invata sa ajungi undeva si apoi apuca.te de laudat.Asta in primul rand. In al doilea rând, ca sunt sau nu scripteri buni, este problema noastra, a celor din interior, nu va cere nimeni parerea, acest topic l.a facut @[RW]Robi cu scopul de a ajuta si alte persoane sa intre, nu l.a facut cu scopul de a cere feedback pozitiv sau negativ. Tu, intri in aceeasi categorie cu @KnowN si celorlati carora nj li s.a cerut o parere despre acest grup, nu va intereseaza? vi se pare prostesc? asta e, dar nu mai dati reply aiurea, ca nu scrie nicaieri ca ti.a cerut cineva parerea.
  9. daca ideea samp.ului a fost a ta da. Raspunsul tau este irelevant, eu nu am spus nicaieri ca sunt seful lui Wopss sau ca sunt seful cuiva, noi doar alegem daca intra cineva sau nu, ca sa nu apara specimene.Nu vrei nu intri, ai fost intrebat daca vrei, ai zis ca nu, decizia ta. In acel grup chiar e ok, toti care sunt se simt bine, chiar si intre persoanele unde exista cate o cearta mereu acum se inteleg, deci daca acel grup ti se pare copilaresc sau ceva, de ce nu.l ignori?
  10. poate dintr.un singur motiv? Ideea a fost a mea si a lu' Wopss
  11. pai fiecare membru poate propune pe cineva, iar eu cu Wopss decidem daca intra sau nu, cu test sau fara.
  12. Nu are rost sa faci asa OPU se acceseaza se cateva ori pe secundă, la 50 -60 de playeri va cam da batai de cap..la cei bani, du.te ai fa un nov, cand vezi ca ti.a dat banii, verifica in baza de date daca s.a schimbat valoarea, daca ai tot 50k sau daca ai 50k+ banii de la job, daca ai tot 50k inseamna ca nu se face corect salvarea in baza de date, daca suma din baza de date e ok, intra pe server si dupa ce te loghezi si te spawneaza l, verifica daca si.a schimbat valoarea din baza de date, adica au ramas banii de la job + 50k, sau s.a resetat iar la 50K.Cand ai verificat astea vino mentioneaza.ma si da.mi raspunsul sau da.mi quote. Sa stergi mysql loginainte sa faci toate astea, si sa.l postezi aici dupa finalizarea testelor.
  13. Problema este urmatoarea, in baza de date ai niste vehiule, de exemplu ID 5, ID 6 ID 7, iar tu cand iti cumperi masina cheia ta va fi ID 1 ID 2 sau in baza de date ai vehiculele cu ID 1, ID 2, ID 3 si tu la cheia playerului ai Id 5, ID 6, ID 7 iar in acel tabel nu se afla vehiculele astea, si asta cauzeaza nefunctionarea comenzii, problema re rezolva cu un wipe la conturi si la vehicuel personale. T/C
  14. nu, dar deobicei conflictele apar, datorita "scripterilor" care tot apar si nu au loc de cei vechi, si care chair au învățat asa ceva, asa ca niste discutii intre persoanele capabile si mature nu strica. nu ar avea de ce sa se intample asta, in grup se afla doar anumite persoane, care doar discuta, nu sta nimeni acolo sa faca tutoriale sau alte chestii sa zici ca au altii ce învăța, doar se dezbat anumite subiecte si se socializeaza
  15. Ideea lui @[RW]Robi cu Campania aia, mi-a dat mie o alta idee, care dupa parerea mea ar fi mult mai interesanta si mai constructiva, am putea face de exemplu un grup pe discord, unde sa fie toti scripterii, care au vechime, si un nivel peste mediu, astfel dupa parerea mea am putea socializa altfel, ar fi o mai buna comunicare, si in loc sa ne certam unii cu altii ca ala sta pe nu stiu ce forum si invers, am putea comunica unii cu altii, sa impartim păreri, propuneri, opinii s.a.m.d, eu zic ca ar iesi ceva mult mai practic si mai frumos decat sa vedem cate persoane se unesc sa sparga toate serverele bugged. Parerea mea. Persoanele ce frecventeaza zilnic sectiinea Ajutor Scripting sa ignore acest topic.
  16. Se rezolva cum a spus cel de sus.T/C
  17. problema se rezolva cum a spus T/C
  18. new Float:STUNTNRG[10][3] = { {1138.5302,-1803.2852,33.6527}, {940.9116,-1428.5436,30.7764}, {603.3672,-1627.6234,28.0839}, {601.2933,-1549.7220,34.8223}, {1774.5129,893.7565,26.9023}, {2101.7854,1504.8895,31.2062}, {2166.8149,1679.5735,20.4190}, {2188.9734,2236.5432,24.9330}, {-2052.5098,-51.8506,47.3118}, {-2364.0139,598.5428,47.1264} }; function IsANRG(vehicleid) { if(vehicleid == 522) return 1; } function STUNT(playerid) { foreach (new i : Player) { if(IsPlayerConnected(i)) { new STUNTTT = random(sizeof(STUNTNRG)); SetPlayerCheckpoint(i, STUNTNRG[STUNTTT][0], STUNTNRG[STUNTTT][1], STUNTNRG[STUNTTT][2], 1.0); SetPlayerMapIcon(playerid, 53, STUNTNRG[STUNTTT][0], STUNTNRG[STUNTTT][1], STUNTNRG[STUNTTT][2], 53, MAPICON_GLOBAL); pickup_event = CreatePickup(1274, 2, STUNTNRG[STUNTTT][0], STUNTNRG[STUNTTT][1], STUNTNRG[STUNTTT][2], GetPlayerVirtualWorld(playerid)); //SetPlayerCheckpoint(i, x, y, z, rz); // rz = raza cercului STUNTV[playerid] = 1; } } SendClientMessageToAll(-1, "A new stunting event has just started. It has been marked on your Map with a Black&White Race Flag Get there first and you'II win."); return 1; } // OnPlayerEnterCheckpoint am asa new vid = GetVehicleModel(GetPlayerVehicleID(playerid)); if(IsANRG(vid)) { if(STUNTV[playerid] == 1) { new playername[25]; GetPlayerName(playerid, playername, sizeof(playername)); new randmoney = 3500 + random(90000); DisablePlayerCheckpoint(playerid); RemovePlayerMapIcon(playerid, 1274); DestroyPickup(pickup_event); format(string,sizeof(string),"{CF165D}%s A castigat STUNT-ul, acesta a castigat %d$.", playername, randmoney); SendClientMessageToAll( COLOR_GREEN, string); GivePlayerCash(playerid, randmoney); Update(playerid, pCashx); SendClientMessage(playerid, COLOR_YELLOW, "Un nou stunt incepe la 3 minute."); SendClientMessage(playerid, COLOR_YELLOW, "STUNT-ul este in perioada de probe Nu este finalizat."); } } Incearca asa.
  19. Salutare tuturor, m-am gandit sa modific sistemul de register al lui @WiDuAlK astfel incat sa fie compatibil cu versiunea de MySQL r41-2(ultima), deoarece vad ca apar fel de fel de tutoriale dar gresite sau inutile. !!!Atentie acest tutorial este imbunatatit si structurat altfel, dar pleaca de la tutorialul lui WiDuAlK Pasul 1: //La inceputul gamemode-ului punem #include <a_mysql> //Definim si o scurtatura care ne va ajuta: #define Functie:%0(%1) forward%0(%1); public%0(%1) Pasul 2: //Definim "Manerul" care ne va ajuta sa facem conexiunea. new MySQL: g_handle; //Si inca o variabila ce ne va ajuta sa facem si mai util sistemul de conectare la baza de date: new Connection = 0;//o initializam cu 0 Pasul 3: //Vom creea 2 enumeratii. enum//Aceasta enumeratie contine Dialog-urile. { DIALOG_LOGIN, DIALOG_REGISTER }; enum fData { pSQLID, pPassword[65] }; new FoxData[MAX_PLAYERS][fData]; Pasul 4: //Acum vom creea conexiunea in sine: Functie: ConnectToSQLServer() { if(Connection == 0) { g_handle = mysql_connect("", "", "", ""); } else { g_handle = mysql_connect("", "", "", ""); } if(mysql_errno() != 0) { print("Could not connect to database!"); SendRconCommand("exit"); }else{print("Connection established!");} } //Astfel nu ne vom mai chinui sa schimbam toate datele de fiecare data, sichimbam doar variabila Connection din 0 in 1 si vice-versa. Pasul 5: //Punem la callback-ul OnGamemodeInit() ConnectToSQLServer();//astefel se initializeaza conexiunea //Si la callback-ul OnGamemodeExit() mysql_close(g_handle);//astfel se opreste conexiunea Pasul 6: //Folosim un stock ca sa facem mai usor Extragerea numelului. stock GetName(playerid) { new Name[MAX_PLAYER_NAME]; GetPlayerName(playerid, Name, sizeof(Name)); return Name; } Pasul 7: //Acum avem nevoie de un callback, care va fi apelat in momentul in care player-ul intra pe server: Functie: OnPlayerLogin(playerid) { new rows cache_get_row_count(rows); if(rows)// atunci cand playerul se inregistreaza i se vor creea niste randuri. Daca i se gasesc atunci cand se va conecta ii va da: { ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Logheaza-te!", "Te rog sa-ti introduci parola contului mai jos!", "Logare", "Exit");// dialogul register } else// daca nu i se gasesc randurile, mai exact contul este inexistent, atunci i se va da urmatorul dialog { ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, "Inregistrare", "Trebuie sa iti creezi un cont ca sa joci pe server.\nTasteaza mai jos o parola, pentru a te inregistra!", "Inregistreaza", "Exit");// dialogul register } return 1; } //La callback-ul OnPlayerConnect(playerid) vom adauga: public OnPlayerConnect(playerid) { new query[100];// definim query(interogarea) mysql_format(g_handle, query, sizeof(query), "SELECT * FROM `conturi` WHERE `Nume` = '%e'", GetName(playerid));// mysql format face interogarile/setarile/obtiunile/updateurile la baza de date //handle reprezinta conectarea la mysql, query si sizeof(queri) reprezinta interogarea //"SELECT * FROM `conturi` WHERE `Nume` = '%e'"- Selecteaza de la tabelul cu conturi, unde numele este %s(de exemplu eu am numele Widualk pe sa-mp. Mi se va extrage numele si mysql_pquery(handle, query, "OnPlayerLogin", "i", playerid);// se va interoga OnPlayerLogin. Adica mai pe scurt , cand se conecteaza se va verifica daca are cont sau nu acel player. return 1; } Pasul 8: //Vom creea dialog-urile folosite pana acum la callback-ul OnDialogResponse public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) { new query[128], ip[25];// se creaza interogarea si ip. switch(dialogid)// se va folosi switch pentru a selecta dialogul { case DIALOG_REGISTER:// daca se va selecta dialogul register { if(!response) return Kick(playerid);// daca se va apasa pe butonul Exit ii va da kick if(response)// daca se apasa pe Butonul inregistrare se vor face urmatoarele verificari { if(!strlen(inputtext))// daca nu e scris nimic la parola return ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD, "Parola incorecta!", "Introdu-ti o parola pentru a te inregistra pe server! n", "Inregistreaza", "Exit");// ii va da din nou dialogul register cu mesajul specific new Hashhhh[65]; SHA256_PassHash(inputtext, "78sdjs86d2h", Hashhhh, sizeof(Hashhhh)); GetPlayerIp(playerid, ip, sizeof(ip));// definim ip-ul de mai sus mysql_format(handle, query, sizeof(query), "INSERT INTO `conturi` (`Nume`, `Parola`, IP) VALUES ('%e', '%e', '%e')", GetName(playerid), Hashhhh, ip);// se insereaza in tabelul cu conturi numele playerului, parola pe care a scris-o si ip pe care il are mysql_pquery(handle, query, "", "");// se va trimite setarile si se va interoga callback-ul OnRegistration SpawnPlayer(playerid); // ii da spawn } return 1; } case DIALOG_LOGIN:// daca se va selecta dialogul de login { if(!response) return Kick(playerid);// si se va apasa pe butonul exit ii va da kick if(response)//daca se apasa pe butonul LOGARE se va face urmatoarele verificari { if(!strlen(inputtext))// daca nu a scris nimic la parola return ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Parola incorecta!", "Te rog sa iti introduci parola corecta, pentru a te loga pe server.", "Logare", "Exit");// ii va da dialogul cu login cu mesajul specific // daca se va trece peste aceasta verificare se vor face urmatoarele: new Hashhhh[65]; SHA256_PassHash(inputtext, "78sdjs86d2h", Hashhhh, sizeof(Hashhhh)); mysql_format(handle, query, sizeof(query), "SELECT * FROM `conturi` WHERE `Nume`='%e' AND `Parola` = '%e'", GetName(playerid),Hashhhh);// va fi selectata parola de la tabelul cu conturi mysql_pquery(handle, query, "OnLogin", "i", playerid);// se va face apel la baza si se va interoga CallBackUl OnLogin (Tquery = take query sau ia interogare in romana) } return 1; } } return 1; } Pasul 9: //Acum vom creea callback-ul apelat de dialog-ul Login: Functie: OnLogin(playerid)// facem publicul { new rows;// definim randurile cache_get_row_count(rows); if(rows)// daca playerul are randuri(adica daca are cont creat, odata cu contul se creeaza randurile) { cache_get_value_name(0, "Parola", FoxData[playerid][pPassword]);// i se vaextrage parola si i se verifica daca coincide cu numele. Se foloseste new-ul temporar pentru extragerea parolei, ea retinandu-se temporar(pana cand se deconecteaza jucatorul) cache_get_value_name_int(0, "ID", FoxData[playerid][pSQLID]);// i se va extrage id-ul din baza de date SpawnPlayer(playerid); } else// altfel , daca parola este gresita { ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Parola incorecta!", "Te rog sa iti introduci parola corecta, pentru a te loga pe server.", "Logare", "Exit");// ii va da dialogul cu mesajul specific. } return 1; } Pasul 10: Se va creea baza de date exact ca in imaginile din Tutorialul lui WidWalk Tutorial Original @WiDuAlK: Aici Documentatie MySql R40: Aici Descarcare mysql R41-2: Aici !!Atentie parolele vor fi criptate cu SHA256
  20. acel tutorial a fost facut de mine acuk cativa ani, dar nu este bun, pe langa faptul ca este " static" adica facut "manual" intr.un fel..nu e bun pentru tine mai ales daca esti incepator. Cat despre tutorialul pe care il ceri, nu cred ca va sta cineva sa faca un asemenea tutorial..Iti recomamd sa te uiti prin diferite funcții, din modurile de joc de pe net, sa te documentezi de pe wiki samp si sa incerci sa faci singur.
  21. Asa nu ceva nu se face, nu pot confirma ca Axo e sau nu tepar, dar mi se pare normal, intai faci plata apoi primesti produsul, cel putin eu asa fac, daca nu ai incredere, faci cu intermediar. In piata cand te duci sa cumperi rosii intai platesti, apoi primesti rosiile
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more details you can also review our Terms of Use and Privacy Policy.