Jump to content

Rimmon

Membru
  • Posts

    795
  • Joined

  • Last visited

    Never

Everything posted by Rimmon

  1. Nu iti merge deoarece ai pus 3 sa zic asa spawnuri... 1:SetSpawnInfo(playerid, 0, 1, 1448.5775,-665.8368,1297.8274, 91.7374, 0, 0, 0, 0, 0, 0 ); 2:Il spawneaza iar 3:SetPlayerPos(playerid, 1448.5775,-665.8368,1297.8274); - ii schimba pozitia...deci Sterge SetSpawnInfo(playerid, 0, 1, 1448.5775,-665.8368,1297.8274, 91.7374, 0, 0, 0, 0, 0, 0 ); SpawnPlayer(playerid); Presupun ca de la asta e...
  2. Reported , nu se lasa id de mess
  3. Rimmon

    rVip

    Tu nu vezi ca ala care l-a postat si pe .com sunt eu ?)=)) Ce prost esti
  4. Chiar asteptam de mult o serie de tutoriale mysql mai mari de r8 , Stiu MySQL dar nu inteleg cum trebuie facut cu mysql_function_query , era mai simplu cu mysql_query
  5. [sqlite]Tag-uri In acest tutorial o sa va prezint tagurile SQLite-ului Tutorial In SQLite sunt 2 taguri care sunt folosite pentru a crea un script , fara sa folosesti aceste 2 taguri nu poti crea un script DB: Tag-ul BD: este utilizat mereu pe variabile pentru a stoca informatii in DataBase (Ex:Numele , parola ,id etc). Ex: [pawn]new DB:Database ; [/pawn] DBResult: Tag-ul BDResult: este utilizat mereu pe variabile care stocheaza rezultatul in query. Ex: [pawn]new DBResult:rezultat; [/pawn]
  6. Cunostinte necesare Crearea unei baze de date Clauzele Functii Tag-uri Tutorial In acest tutorial va voi prezenta cum se face un sistem V.I.P deoarece am vazut pe acest site multe tutoriale despre /buyvip , as fi facut un tutorial despre register/login dar a facut Darky deci nu are rost. Tutorialul lui darky il puteti gasi aici . Pentru inceput va trebui sa creem o variabila noua cu prefixul DB: [pawn]new DB:vips ;[/pawn] Pentru a vedea ce face DB: urmariti tutorialul Tag-uri de mai sus Ok , dupa ce am creat aceasta variabila trebuie sa creem baza de date folosind functia db_open , pentru a intelege mai bine trebuie sa cititi tutorialele de mai sus [pawn]vips = db_open ( "Vips.db" ) ; [/pawn] De obicei codul de mai sus se pune la public OnGameModeInit/OnFilterScriptInit Ok , acum dupa ce am facut acest lucru , daca deschidem consola se va crea in scriptfiles automat un fisier .db pe care il puteti deschide cu programul ReadSQL. Tot sub acelasi cod v-om verifica daca exista sau nu un tabel in db-ul(DataBase-ul) nostru... [pawn]db_free_result ( db_query ( vips , "CREATE TABLE IF NOT EXISTS `Vips` ( `Key` INTEGER PRIMARY KEY AUTOINCREMENT , \ `Name` TEXT ,\ `VipL` NUMERIC )" ) ) ;[/pawn] Pentru a afla ce am facut mai sus va rog sa urmariti tutorialul "Clauze" si tutorialul "Functii" , dupa ce am creat acest tabel cu coloanele : Key , Name si VipL Trebuie sa facem inca o noua variabila cu extensia [ MAX_PLAYERS ] pentru ca aceasta variabila trebuie sa fie pentru un player si nu pentru toti playerii [pawn]new vLevel [ MAX_PLAYERS ] ;[/pawn] De variabila de mai sus ne vom ajuta pentru a seta levelul unui player... Acum ca am creat DB-ul trebuie sa trecem la alta parte Crearea unui cont in tabel Scrierea in DB este foarte simpla , scrierea se face printr-un format de obicei , folosind clauze Mai intai v-om crea o variabila globala de tip string ( adica o punem sus in script sub include-uri ) [pawn]new Query [ 100 ] ; [/pawn] Am creat o vaiabila noua cu numele Query si poate contine 100 de caractere , probabil am pus prea mult ( ma refer la numarul de caractere ) , dar asa sunt eu , risipitor ) Dupa ce am facut asta , trecem la partea in care creem contul in tabel... Dupa cum am mai spus pentru a face asta trebuie sa cititi tutorialul cu clauzele SQLite-ului Sa trecem la treaba... Prima data v-om verifica daca exista sau nu un cont in acea baza de date , daca exista ii vom insera acelui player levelul care il are in DB daca nu exista il vom crea si ii vom da levelul 0 new DBResult:result; format ( Query , 100 , "SELECT * FROM ` Vips ` WHERE ` Name ` = ' %s ' " , pName ( playerid ) ) ; result = db_query ( vips , Query ) ; Pentru a vedea ce face DBResult urmariti tutorialul Tag-uri de mai sus Cu acest format am selectat tot ( * ) din tabelul `Vips` unde numele playerului este %s , dupa cum vedeti am folosit in acest format pName , daca compilati exact cum am facut eu ve-ri primi eroare din cauza ca voi nu aveti stock-ul pName... Ca sa nu primiti eroare trebuie sa creati urmatorul stock [pawn]stock pName ( playerid ) { new i [ 24 ] ; GetPlayerName ( playerid , i , 24 ) ; return i; } [/pawn] Dupa ce facem asta ne intoarcem la codul de mai sus si v-om verifica daca exista sau nu contul in db cu functia db_num_rows Daca nu stiti ce face functia db_num_rows cititi tutorialul 'Functii' if ( !db_num_rows ( result ) ) { format ( Query , 100 , "INSERT INTO `Vips` VALUES (NULL , '%s' , '%d' ) " , pName ( playerid ) , vLevel [ playerid ] = 0 ) ; db_query ( vips , Query ) ; } Cu codul de mai sus , daca nu exista acel cont ( nume ) in db-ul Vips se va crea o coloana cu numele playerului si levelul de v.i.p 0 Acum , trebuie sa facem sa ii redea levelul de vip playerului de fiecare daca cand se conecteaza [pawn]if ( db_num_rows ( result ) ) { new field [ 30 ] ; db_get_field_assoc ( result , "VipL" , field , 30 ) ; vLevel [ playerid ] = strval ( field ) ; } [/pawn] pentru a afla ce face db_get_field_assoc urmariti cu atentie tutorialul 'Functii' Codul ar arata cam asa: public OnPlayerConnect ( playerid ) { new DBResult:result; format ( Query , 100 , "SELECT * FROM ` Vips ` WHERE ` Name ` = ' %s ' " , pName ( playerid ) ) ; result = db_query ( vips , Query ) ; if ( !db_num_rows ( result ) ) { format ( Query , 100 , "INSERT INTO `Vips` VALUES (NULL , '%s' , '%d' ) " , pName ( playerid ) , vLevel [ playerid ] = 0 ) ; db_query ( vips , Query ) ; } else if ( db_num_rows ( result ) ) { new field [ 30 ] ; db_get_field_assoc ( result , "VipL" , field , 30 ) ; vLevel [ playerid ] = strval ( field ) ; } db_free_result ( result ) ; return 1 ; } format ( Query , 100 , "UPDATE `Vips` SET `VipL` = ' %d ' WHERE `Name` = '%s' " , vLevel [ playerid ] , pName ( playerid ) ) ; db_query ( vips , Query ) ; Cam acesta este tutorialul . Daca am gresit cevaspuneti-mi intr-un reply Updatarea statisticilor Pentru a updata statisticile playerilor se foloseste clauza UPDATE impreuna cu clauzele SET si WHERE folosite de obicei la OnPlayerDisconnect , pentru a afla mai multe cititi tutorialele Functii si Clauze puse mai sus
  7. In acest tutorial va voi prezenta funtiile SQLite-ului db_open(); - deschide o baza de date daca exista si creaza una noua daca nu exista(folosita de obicei la OnGameModeInit/OnFilterScriptInit) Ex: db_open("Player.db"); db_close(); - inchide baza de date(folosita de obicei la OnGameModeExit/OnFilterScriptExit)Ex: db_close(numele DB:-ului); db_query(); - scrie in baza de dateEx: db_query(Database,"UPDATE `Users` SET `Money` = '1000' WHERE `Name` = 'rimmon'"); in traducere vine - updateaza users si seteaza money = 1000 unde numele este rimmon db_free_result(DBResult:dbresult); - elibereaza rezultatul scris in db_queryEx: db_free_result(db_query(Database,"UPDATE `Users` SET `Money` = '1000' WHERE `Name` = 'rimmon'")); db_num_rows(DBResult:dbresult); - verifica daca exista ce ai scris tu in db_queryEx: new DBResult:result; result = db_query(Database,"SELECT `Name` FROM `Users` WHERE `Name` = 'rimmon'"); if(db_num_rows(result)) { SendClientMessage(playerid,-1,"Acest cont exista"); } else { SendClientMessage(playerid,-1,"Acest cont nu exista"); } db_next_row(DBResult:dbresult); - ia urmatorul rezultat dintr-o coloana(nu sunt sigur de explicatie,dati un reply daca nu am dreptate)Ex: new DBResult:Result; Result = db_query( Database, "SELECT * FROM `Users` WHERE `Name`='Rimmon'" ); for(new a;a<db_num_rows(Result);a++) { new info[2][30]; db_get_field_assoc(Result, "ip", info[0], 30); db_get_field_assoc(Result, "time", info[1], 30); printf( "Conectare: Nume: Rimmon IP: %s la data de: %s", info[0], info[1] ); db_next_row(Result); } db_num_fields(DBResult:dbresult); - numarul de domenii din rezultatEx: new name[30]; format(Query,sizeof(query),"SELECT `pass`,`kills`,`deaths`,`level`,`score` FROM `Users` WHERE `Name` = '%s'", GetPlayerName(playerid,name,30)); result = db_query(Database,Query); format(string,sizeof(string),"Ai selectat %d de fisiere", db_num_fields(result)); SendClientMessage(playerid,0xAFAFAFAA,string); db_free_result(result); db_get_field_assoc(DBResult:dbresult,const field[],result[],maxlenght); - Ex: new Filed[30]; db_get_field_assoc(result,"Level",Field,30); PlayerInfo[playerid][Level] = strval(Field); Mai sunt 2 functii,doar ca nu le stiu explicatia ..pentru ca eu nu le-am folosit niciodata
  8. DM Zones Salut , in acest tutorial va voi prezenta cum se creaza o zona de DM ( Death match ) Multi cred ca e greu (incepatori) dar defapt este foarte simplu , trebuie sa urmezi niste pasi simpli Step I: Variabila noua Trebuie sa creem o variabila noua prin care vom afla daca playerul este intr-un DM sau nu [pawn]new DM [ MAX_PLAYERS ] ; [/pawn] Trebuie sa creezi o variabila cu [ MAX_PLAYERS ]pentru ca trebuie sa fie o variabila pentru un player nu una globala (pentru toti playerii) Step II: Crearea unui DM Daca vrei sa 'activezi' o zona de dm trebuie sa setezi variabilei DM valoarea 1 [PAWN]DM [ playerid ] = 1 ;[/PAWN] Ex: [pawn]CMD:gotodm ( playerid , params [ ] ) { DM [ playerid ] = 1 ; return 1 ; }[/pawn] Step III: Verificarea In acest tutorial va voi arata cum sa verifici daca player-ul este intr-un dm sau nu Trebuie sa folosim if pentru verificare [PAWN]if ( DM [ playerid ] == 1 ) return SendClientMessage ( playerid , -1 , " Nu poti folosi aceasta comanda intr-un DM " ) ; [/PAWN] Cu codul de mai sus , daca playerul are variabila setata pe 1 ii va trimite mesajul "Nu poti folosi aceasta comanda intr-un DM" Daca variabila DM este setata pe 1 el nu va putea folosi comanda respectiva , daca este pe 0 va putea s-o foloseasca Ce inseamna SendClientMessage ? Pai, SendClientMessage trimite un mesaj unui player ... SendClientMessage ( playerid , color , message [ ] ) ; playerid - Player-ul caruia i se va trimite mesajul color - culoarea textului message - mesajul care va fi trimis player-ului Ex: [pawn]CMD:gotodm ( playerid , params [ ] ) { if ( DM [ playerid ] == 1 ) return SendClientMessage ( playerid , -1 , " Nu poti folosi aceasta comanda intr-un DM " ) ; else return SetPlayerPos ( playerid , 0.0 , 0.0 , 0.0 ); return 1 ; }[/pawn] Sper ca v-am ajutat
  9. Rimmon

    rVip

    rVip Hello world xD , Am facut un fs de v.i.p de plictiseala , da stiu sunt sute de scripturi de vip dar am capul gol... Acest system contine: 2 comenzi RCON [*]3 comenzi pentru playeri [*]11 comenzi V.I.P Niste poze: vcmds vsay fspawn vips Bugs: Probabil , am testat acest fs singur =============================================== [download]http://www.solidfiles.com/d/71073e2326[/download] =============================================== PS:Ca sa nu mai postez porcarii ca asta dati-mi niste idei )
  10. Am in mess destui cersetori , dar abia acum m-am gandit sa le fac poza la statusuri... uitati unu dintre ei ) =]] I-a hai sa sunam toti si sa ne batem joc de el )=))
  11. 1. ma dor ochii ca naiba ... 2. Un edit de asta pot face si eu in Movie Maker ( nu la fel ca al au , dar asemanator ) , e mai misto ala a lui Gireda fara edit )
  12. Rimmon

    Restart

    Procesorul este de vina ... l-m dus azi la reparat xD
  13. Ai cam gresit sectiunea... Nu e sectiunea de cereri tutoriale PS:Daca gresesc asta e pentru ca nu frecventez aceasta sectiune )
  14. Eu unu fac asta pentru a arata tuturor ca nu sunt un nimic si ca stiu sa fac cv in pawn , el posibil are acelasi motiv ( cred ) Anyway 5/5
  15. Rimmon

    Restart

    Pe bune acum , ce naiba sa-i fac? Am bagat aspirator , l-am curatat....tot se restarteaza... Ce naiba sa-i fac?)
  16. Rimmon

    Restart

    Acum cooleru merge la 48 de grade...nu cred ca e de la caldura
  17. Rimmon

    Range

    Puteti da TC daca vreti...
  18. Rimmon

    Restart

    :)) pai cu altceva nu stiu...doar daca deschizi unitatea si cureti frumos...
  19. Rimmon

    Range

    Hmm...daca as fi si eu prin clasa a 11-a sau a 12-a cum esti tu probabil as fi inteles mai multe... Am inteles cat de cat cum sta treaba si cum se afla daca tu esti in acea raza dar pentru mine ca abia am trecut in clasa a 9-a e cam greu ) Mersi ca ti-ai facut timp si ai explicat... PS:Ar trebui sa le adaugi la tutoriale ( tutorialele cu viteza si cu raza )
  20. Rimmon

    Restart

    Gura ) sau un suflator de frunze daca ai )
  21. Rimmon

    Restart

    E posibil sa fie de la praf... Am mai patit..avea atata praf incat coolerul nu se mai invartea...o sa bag aspiratorul... PS:Nu s-a mai inchis de cateva ore , incepe sa-si revina Aspiratorul...
  22. Asta pentru ca nu e GM-ul tau facut de la 0... trebuie sa aiba ceva in GM care tii scade...
  23. Rimmon

    Restart

    Bun..e de la curect...si ce trebuie sa-i fac? Ca mor de nervi cand isi da restart aiurea
  24. Rimmon

    Restart

    cand deschid PC-ul scrie la CPU 53-54 grade...
×
×
  • 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.