Jump to content

Rimmon

Membru
  • Posts

    795
  • Joined

  • Last visited

    Never

Everything posted by Rimmon

  1. Daca ai citi inainte sa postezi(adica ai postat aiurea) ai fi vazut ca ma doare fix in ochiul maro de acest server(scuzati-mi expresia) , nu am mai munci la el de pe la inceputul lui 2013...Am mai terminat 2 servere de cand il am pe asta in pc(am mai facut unul stunt si unul RP)
  2. Romania xTremeZone Stunt(RST V3) - SQLite Dupa cum bine stiti , am mai avut 2 servere pe nume Romania Stunt Time care amandoua le puteti gasi pe net. Acest gamemode este v3 , v3 este facuta de cateva luni bune(cam de la inceputul lui 2013) , dar nu l-am postat , acum m-am saturat sa vad toate prostiile astea prin PC , asa ca m-am gandit sa postez totate serverele pe care nu le mai folosesc(cele de stunt , mai am unul de postat ) Serverul este scriptat oribil(cel putin asa cred eu) Acest server contine: Register/Login System Admin System Vip System Vehicle System Personal vehicle system(nu ca pe RP) Coins Teleport Afk Top 10(Bani,score,coins) Peste 5000 obiecte Multe comenzi(nu stau acum sa le numar.) Reaction Test Vup Speed CP(Control panel) Multe altele Vreti "Imajini"? , ok: [img width=500] [img width=500] [img width=500] [img width=500] [img width=500] [img width=500] [img width=500] [img width=500] [img width=500] [img width=500] [img width=500] [img width=500] [img width=500] [img width=500] [download]http://adf.ly/Y77AB[/download]
  3. 1.Ma innebuniti , serios..lasati-ma sa folosesc ce vreau 2.M-am gandit sa il fac pe SQLite , dar mi s-a spus sa il fac pe ini pentru a fi pe intelesu tuturor..
  4. Crearea factiunilor de la 0 Inceputul Salut , in acest tutorial o sa va prezint cum se creeaza niste factiuni ,vreau sa va anunt ca nu am deschis niciodata un GM de RP sa vad cum se creeaza un sistem de factiuni. Acest tutorial il voi face pe dini , pentru a fi pe intelesul tuturor , am mai facut cateva tutoriale pe SQLite si mi s-a spus ca sa fac pe ini nu SQL Prima data creem 2 variabile pentru player , nu globale. __________________________ new FactionM [ MAX_PLAYERS ] , FactionL [ MAX_PLAYERS ] ; __________________________ FactionM - Factiunea in care esti membru FactionL - Factiunea in care esti lider Ne ducem sus in script sub ___________________________ #include <a_samp> ___________________________ si adaugam ___________________________ #include <dini> #define FilePlace "Factions/%s.ini" ___________________________ define FilePlace "Factions/%s.ini" - locul unde se vor salva datele playerului Adica in scriptfiles/Factions/%s.ini Dupa ce am facut toate astea , v-om face un mic stock , care va "lua" numele playerului , ca sa ne miscam mai rapid _________________ stock pName ( playerid ){ new i [ 24 ] ; GetPlayerName ( playerid ,i , 24 ) ; return i ; } ________________ Crearea/Setarea/Updatarea Ok , acum v-om merge la OnPlayerRequestClass , pentru a face o verificare contului care tocmai a intrat pe server. 1.Creem o noua variabila 2.Facem un simplu format care verifica locatia si daca contul care a intrat pe server exista. 3.Facem verificarea de la pasul 2 3.1 .Daca contul exista ii vom "reda" statisticile 3.2 .Daca nu exista , se va crea cu FactionM/L pe 0 ________________ public OnPlayerRequestClass(playerid, classid) { new str [ 50 ] ; format ( str , 50 , FilePlace , pName ( playerid ) ) ; if ( dini_Exists ( str ) ){ //contul exista FactionM [ playerid ] = dini_Int ( str , "Faction Member" ) ; FactionL [ playerid ] = dini_Int ( str , "Faction Leader" ) ; } else{ //contul nu exista dini_Create ( str ) ; dini_IntSet ( str , "Faction Member" , FactionM [ playerid ] = 0 ) ; dini_IntSet ( str , "Faction Leader" , FactionL [ playerid ] = 0 ) ; } return 1; } ________________ Dupa ce terminam cu OnPlayerRequestClass , mergem la OnPlayerDisconnect , pentru ai salva statisticile cand se deconecteaza. ________________ public OnPlayerDisconnect(playerid) { new str [ 50 ] ; format ( str , 50 , FilePlace , pName ( playerid ) ) ; //Verifica contul dini_IntSet ( str , "Faction Member" , FactionM [ playerid ] ) ; dini_IntSet ( str , "Faction Leader" , FactionL [ playerid ] ) ; return 1; } ________________ Cam asta e partea cu crearea/inserarea/salvarea , nu prea ma pricep la explicatii de genu , dar sper ca ati inteles cat de cat Crearea Spawnurilor Crearea unui astfel de sistem e mai usor decat sa mananci seminte (vorba mea cea noua =)) ) Trebuie doar sa gandesti putin , pentru a crea spawnurile si sa setam skinurile playerilor din anumite factiuni , vom face un simplu stock Eu voi crea 2 factiuni 1-Politia romana 2-Fratia oboroaca Stock-ul meu se va numi , CheckPlayerFaction. ____________________ stock CheckPlayerFaction ( playerid ) { if ( FactionM [ playerid ] == 1 || FactionL [ playerid ] == 1 ){ //Daca playerul este lider/membru in factiunea cu id-ul 1 (Politia romana) SetPlayerSkin ( playerid , 280 ) ; SetPlayerPos ( playerid , /*coordonatele spawn-ului*/ ) ; GivePlayerWeapon ( playerid , 24 , 100 ) ; //Armele care vreti sa le aiba playerul din factiunea respectiva } else if ( FactionM [ playerid ] == 2 || FactionL [ playerid ] == 2 ){ //Daca playerul este lider/membru in factiunea cu id-ul 2 (Fratia oboroaca) SetPlayerSkin ( playerid , 291 ) ; SetPlayerPos ( playerid , /*coordonatele spawn-ului*/ ) ; GivePlayerWeapon ( playerid , 24 , 100 ) ; //Armele care vreti sa le aiba playerul din factiunea respectiva } return 1; } ____________________ Dupa ce ati facut toate acestea , adaugati stockul la OnPlayerSpawn , adica asa _______________________ public OnPlayerSpawn (playerid) { CheckPlayerFaction(playerid); return 1; } _______________________ Cam asta este toata treaba cu factiunile , eu nu v-am aratat nimic avansat , ca sa fie clar . Eu va arat doar ca idee cum se creeaza , nu dau mura in gura , sper sa va descurcati de aici.
  5. Rimmon

    move object

    Trebuie sa folosesti MoveObject pentru fiecare obiect in parte
  6. Salut xD , tocmai mi-am facut un job pentru serverul meu de RP ( m-am apucat de RP ) Am vrut sa vil prezint ca sa imi spuneti ce parere aveti despre el , si ce update-uri sa ii mai fac..
  7. gtamap.delux-host.com/converter/ Aici
  8. Mha taci naibi din gura , daca am mod acolo asta nu inseamna ca nu am voie sa stau si aici , nimeni nu a spus ca suntem mai scripteri , dar nici tu nu esti mai presus ca noi... Si daca vrei sa imi mai spui ceva zimi prin PM , gata cu off topic-ul
  9. OFF:Altu care mananca ca.cat aiurea , tu crezi ca K1ddu nu e bun deoarece nu sta pe acest site , cand o sa ajungi la cunostintele lui sa dai reply inapoi , cand o sa ai tu server 100% pe mysql atunci sa dai reply , pana atunci taci ON:Bun tutorialul xD OFF iar:700 POSTURI wohoo xD
  10. Multumesc , si chiar este folositor , cel putin pentru serverele RP/RPG din cate stiu xD PS:Pentru toti , m-am lasat de stunt ma apuc de RP , e mai interesant xD
  11. 1.Aceasta nu e o eroare 2.Ai o variabila cu tip string cu valoarea prea mare ex: [pawn]new str [ 2800 ] ;[/pawn]
  12. Tutoriale necesare: Crearea unei baze de date Clauzele Functii Tag-uri Tutorial: PS:Inainte de a citi acest tutorial trebuie sa stiti ca , in acest tutorial va voi arata cum sa sari peste OnPlayerRequestClass doar daca esti inregistrat , daca nu esti inregistrat nu vei sari peste OnPlayerRequestClass , pentru a putea alege skin-ul cu care te vei spawna automat cand le loghezi In acest tutorial va voi prezenta cum sa "sari" peste OnPlayerRequestClass , folosit uneori sau mereu la serverele de RolePlay Sa incepem: Prima data trebuie sa creem o variabila , eu o voi face tip bool , voi o puteti face si integer daca vreti new bool: firstC [ MAX_PLAYERS ] ; Tocmai ce am creat variabila firstC ( first connect ) , de aceasta vabiabila ne v-om ajuta ca sa "sarim" peste OnPlayerRequestClass Acum , trebuie sa merge la dialogul de register si setati variabila firstC pe true firstC [ playerid ] = true ; Si la dialogul de login il setam pe false firstC [ playerid ] = false ; Acum mergem la OnPlayerRequestClass Sa zicem ca voi aveti asa la OnPlayerRequestClass public OnPlayerRequestClass(playerid, classid) { SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746); SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746); SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746); return 1; } Acum trebuie sa editam acest cod si sa facem urmatoarele: Daca abia s-a inregistrat ii va aparea sa selecteze skin-ul , iar daca este deja inregistrat si acum s-a logat il va spawna cu skin-ul care l-a ales la inregistrare public OnPlayerRequestClass(playerid, classid) { if ( firstC [ playerid ] == true ) // true l-am setat la dialogul de register , deci daca abia se inregistreaza ii va aparea sa selecteze skinul { SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746); SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746); SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746); } else return SetTimerEx ( "spawn" , 1 , false , "i" , playerid ) ; // daca este deja inregistrat si acum se logheaza il va spawna imediat return 1; } Daca incercati sa testati acum nu va merge deoarece nu aveti callback-ul spawn in GM , ca sa creati callback-ul spawn trebuie sa folosim un forward forward spawn ( playerid ) ; iar callbackul va arata asa public spawn ( playerid ) return SpawnPlayer ( playerid ) ; Dupa ce am facut toate acestea , trebuie sa salvam skin-ul care l-a ales dupa ce s-a inregistrat Pentru a intelege m-ai bine tot ce am facut pana acum si ce voi face mai incolo cititi tutorialele recomandate Prima data trebuie sa creem sus in script 2 variabile una cu tag-ul DB: si una tip string new DB:pSkin , string [ 200 ] ; La OnGameModeInit pSkin = db_open ( "PlayersSkin.db" ) ; //creaza daca nu exista sau deschide daca exista baza de date db_query ( pSkin , "CREATE TABLE IF NOT EXISTS `Users` ( `Name` TEXT ,\ `SkinID` NUMERIC )" ) ; //Creaza tabelul `Users` in baza de date `PlayersSkin` daca nu exista La OnPlayerSpawn trebuie sa facem asta ( cateva explicatii cu // ) public OnPlayerSpawn ( playerid ) { if ( firstC [ playerid ] == true ) // Daca si-a ales skin-ul in Database i se va seta la coloana SkinID , id-ul skin-ului pe care l-a ales { new name [ 24 ] ; GetPlayerName ( playerid , name , 24 ) ; format ( string , 200 , "INSERT INTO `Users` VALUES ('%s' , '%d')" , name , GetPlayerSkin ( playerid ) ) ; db_free_result ( db_query ( pSkin , string ) ) ; } else if ( firstC [ playerid ] == false ) // daca este inregistrat si s-a logat i se v-a seta skinul care l-a ales la inregistrare { new name [ 24 ] ; GetPlayerName ( playerid , name , 24 ) ; new DBResult:res ; format ( string , 200 , "SELECT * FROM `Users` WHERE `Name` = '%s'" , name ) ; // Selecteaza tot din tabelul `Users` din baza de date `PlayersSkin` res = db_query ( pSkin , string ) ; if ( db_num_rows ( res ) ) //Daca exista acel player in database i se v-a seta skin-ul ales { new field [ 10 ] ; db_get_field_assoc ( res , "SkinID" , field , 10 ) ; SetPlayerSkin ( playerid , strval ( field ) ) ; } } return 1 ; } PS:Eu la OnPlayerSpawn am altfel , nu am testat cum am facut in acest tutorial Daca vreti sa ii setati voi skin-ul , fara sa mai aleaga el trebuie sa faceti urmatoarele: Stergeti tot codul de la OnPlayerSpawn ( acela care l-am pus eu in tutorial ) iar la OnPlayerRequestClass faceti asa public OnPlayerRequestClass(playerid, classid) { SetTimerEx ( "spawn" , 1 , false , "i" , playerid ) ; SetPlayerSkin ( playerid , skin-ul ) ; return 1; }
  13. Tu cred ca esti chior si nu ai vazut ce semnatura mi-am pus =))
  14. We caca.tule =)) , e nou daca nu vezi , tu in prima zi nici nu stiai sa dai dublu click pe programul "PAWNO" On:Uite aici pluginul si include-ul pawno http://forum.sa-mp.com/showthread.php?t=120356 Fisierul .dll/.so il pui in folderul Plugins iar fisierul .inc il pui in pawno->include
  15. Nu stiti care e animatia aia , cand e unu jos si tu ai o bata/baston in mana , ii trage ( nu cu piciorul , se apleaca si ii trage cu bata/bastonul )?
  16. La multi ani Urare: Sa termini facultatea cu 10
  17. Ca sa faci un top 10 trebuie sa folosesti SQLite sau MySQL , altfel nu poti , poti dar poti face doar topul celor online daca nu ma insel , oricum Uite comanda , care o pot folosi toti , nu doar admini [pawn] if (strcmp(cmd, "/richlist", true) == 0) { if(IsPlayerConnected(playerid)) { GetPlayerName(playerid, sendername, sizeof(sendername)); format(string, sizeof(string), "{FF2C00}[AdmWarning]: {33FF33}%s {FFFFFF}Has Checked For Rich Users Online.", sendername); ABroadCast(COLOR_LIGHTRED, string, 5); SendClientMessage(playerid, COLOR_LIGHTRED, "Rich Users online:"); for(new i = 0; i < MAX_PLAYERS; i++) { if(IsPlayerConnected(i)) { if(GetPlayerMoney(i) >= 5000000 || PlayerInfo[pAccount] >= 5000000) { GetPlayerName(i, sendername, sizeof(sendername)); GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer)); format(string, 128, "%s (%d) - In Hand: $%d | In Bank: $%d", sendername, i, GetPlayerMoney(i), PlayerInfo[pAccount]); SendClientMessage(playerid, COLOR_YELLOW, string); } } } } return 1; }[/pawn]
  18. Rimmon

    Problema GM.

    1.Eroarea nu e de la GM e de la include-ul "foreach" 2.Descarca tot stocul de include-uri YSI
  19. Rimmon

    Problema goto

    Incearca asa In loc de [pawn]ABroadCast(COLOR_RED, string, 1), "%s s-a teleportat la %s");[/pawn] Pui tot codul de mai jos [pawn] new name [ 24 ] , name2 [ 24 ] , t_str[ 100 ] ; GetPlayerName ( playerid , name , 24 ) ; GetPlayerName ( plo , name2 , 24 ) ; format ( t_str , 100 , "%s s-a teleportat la %s" , name , name2 ) ; ABroadCast ( COLOR_RED , t_str , 1 ) ; [/pawn]
  20. Rimmon

    Problema /ad

    fa variabila adTime[playerid] globala adica...tu in GM ai asa new adTime [MAX_PLAYERS] schimba in new adTime;
  21. Daca te pui pe invatat serios ai putea face si tu...(nu ma refer la pawn)
  22. GM-ul e facut de Massari )=)) , pe el l-ai laudat...
  23. Macar stie dini nu ca tine =)) =)) , tu esti smecher de smecher mafiot pe MySQL =)) ON:Bunisor tutorialul ,da mai lucreaza la partea cu explicarea tutorialelor , 4/5
  24. Cred ca o sa iau warn dar cand vad noobi sa astia o iau razna =)) Nu mai manca ca..at aiurea , daca tu esti batut in cap normal ca nu iti merge nimic , lasate de scripting
  25. Mha , daca nu stiti MySQL , nu mai incercati =)) Si da claudiu , ar mai fi cu wampp (aceasi metoda , program diferit , tot in phpmyadmin se lucreaza cu el =)) )
×
×
  • 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.