Jump to content

burnfire

Membru
  • Posts

    382
  • Joined

  • Last visited

    Never

Everything posted by burnfire

  1. Mersi Gireada,mi-a mers!!!+1 rep:D
  2. Sa mori tu!Iti citez din wiki sa-mp: Vezi,ti-am subliniat cuvantul UPDATE in citat:D .Ca sa nu te faci de ras,mai degraba imi ceri scuze,asa,din bun simt .
  3. Din pacate,nu a mers!Dar iti multumesc pentru efort :D
  4. Buna ziua useri.Am o problema la conectarea playerilor pe server... Detalii problema:Aici Detalii problema(in caz ca nu ati inteles imaginea):Am facut un cod,in care,la conectarea unui player sa trimita un mesaj la toata lumea cu urmatoarele detalii: Numele playerului care s-a conectat(EX:burnfire) Cati playeri sunt conectati(cu tot cu acel player) ,dar,in loc de acel mesaj,imi arata urmatorul lucru:"re" Metode incercate pentru a solutiona problema:[list type=decimal] [*]Am marit marimea stringului la 1080 [*]Am schimbat SendClientMessage(i,0xFFFFFFFF,string); IN SendClientMessageToAll(0xFFFFFFFF,string); CODUL: [pawn]for(new i=0;i<MAX_PLAYERS;i++) { if(IsPlayerConnected(i)) { new string[1080],pName[MAX_PLAYER_NAME]; GetPlayerName(playerid,"pName",sizeof(pName)); format(string,1080,"[Anunt Funny] %s s-a conectat pe server!Acum,sunt conectati %d playeri!",pName,i); return SendClientMessageToAll(0x00FF00FF,string); } }[/pawn] Ma puteti ajuta?
  5. Pai daca adauga 1 la valoarea initiala,nu inseamna ca o upgradeaza???
  6. Sa continuam cu tutorialul nostru... Instructiuni repetitive 1.FOR(aceasta instructiune are rolul de a upgrada o variabila la un anumit callback(cand un player se conecteaza/cand se spwneaza etc.) [pawn]/*exemplu FOR*/ #include <a_samp> public OnPlayerConnect(playerid) { for(new i,i<MAX_PLAYERS,i++) { if(IsPlayerConected(i)) { new string[128]; format(string,128,"Acest mesaj v-a fi trimis tuturor playerilor cand un player se conecteaza!Acum sunt conectati %d playeri!",i); SendClientMessage(i,-1,string); return 1; } } return 1; } [/pawn] Curand va voi mai aduce cateva functii.
  7. Nu prea joc pe alte servere...
  8. Am intrat pe serverul lui BuBU (nu vreau sa fac reclama),deci,cerei scuze )
  9. Report crash:Cand dai cu spatele pe NRG si in acelasi timp te da serverul jos...ia ghiciti...CRASH. ATENTIE!!!:Am facut acest ost ca sa nu faceti aceasta greseala!
  10. Recomand sa folositi Scripting Machine.Are inclus (pe langa 100 de ajutoare minore) are Dialog creator,Sa faci GangZones,porti care se deschis cum vrei tu...etc.Sincer,e foarte simplu de folosit :grin: .Ti-am lasat un link.Daca vrei sa downloadezi Scripting Machine ,apasa aici
  11. Puteai sa pui functii care chiar sunt de baza....De exemplu: [pawn]print(constr); constr -- mesajul de aratat[/pawn] Is mai multe functii de baza de genu...dar e bun si asa...
  12. Mersi,Rock,am editat:D
  13. Instructiuni Pawno Partea 1 a tutorialului Ce sunt instructiunile? Instructiunile sunt acele "comenzi" care au memorate executarea unui program. In limbajul de programare,instructiunile sunt de 3 feluri:Conditionali(se executa daca datele introduse corespund cerintelor introduse,Repetitiv(care tinde sa upgradeze informatia introdusa si,cu ajutorul unei functii,sa o proceseze)si Liniare(instructiuni simple,ce ocupa o singura linie in script) Lista instructiunilor din PAWNO sunt: *Conditionale:if,else,else if,switch *Repetitive:while,for,do while,if-goto *Liniare:goto,break,continue si return Sa incepem explicarea cu Instructiunile Conditionale... 1.IF(este instructiunea care se executa DACA conditia introdusa este corecta) [pawn]/*Exemplu IF*/ new a; ////// a = 5; if(a == 5) return print("a este 5"); [/pawn] 2.ELSE(este instructiunea ceare se executa daca prima conditie(precizata cu ajutorul instructiunii IF este falsa,se v-a executa instructiunea 2) [pawn]/*Exemplu ELSE*/ new b; b = 5; if(b == 4) {//Nu se va executa// print("b este 4"); } else {//Se v-a executa// print("b este 5");[/pawn] 3.ELSE IF(este instructiunea care se v-a executa daca valoarea introdusa este adevarata,un mic exemplu este mai jos) [pawn]new c = 6; if(c == 1) {//Nu se v-a executa// print("c este 1"); } else if(c = 6) {//Se v-a executa// print("c este 6"); } else //Daca c este o alta valoare(ORICE VALOARE INAFARA DE CELE PRECIZATE MAI SUS) {//Nu se v-a executa// print("c este alta valoare"); } [/pawn] 4.SWITCH(este varianta mult mai simpla la if,else if,else) [pawn]new d = 2; switch(d) { case 1: {//Daca d este 1 print("d este 1"); } case 2: {//Daca d este 2 print("d este 2"); } default: {//Daca d este orice alt numar print("d este un numar inafara de 1 si 2"); } }[/pawn] Pentru aceasta zi v-am introdus in lumea instructiunilor cu acest tutorial.In urmatorul tutorial va voi explica instructiunile liniare!! Partea 2 In aceasta parte a tutorialului va voi explica functiilde de tip Liniare 1.GOTO(Este instructiunea care v-a sari peste un anumit cod,pana la cel precizat in instructiune) [pawn]/*Exemplu GOTO*/ new e; //Dupa definirea variabilei,poate urma un cod// goto e; //Codul scris pana la variabila e,nu va fi executata// print ("Acest cod nu v-a fi executat"); e = print("Am ajuns la variabila,de aici,scriptul va fi executat"); //Alt cod...//[/pawn] 2.BREAK(Aceasta instructiune v-a intrerupe o alta instructiune(de obicei,o instructiune repetitiva) [pawn]/*Exemplu BREAK*/ new f; if(f == 3) break;[/pawn] 3.CONTINUE(Instructiunea "Continue" v-a trece peste o repetare(folosita de obicei intr-o functie Repetitiva)) [pawn]/*Exemplu CONTINUE*/ for(new g=0,g<100,g++) { if(g == 1) continue; printf("G este %d",g); }[/pawn] 4.RETRUN(Aceasta instructiune v-a aduce(dupa executarea instructiunii anterioare) o valoare,o functie,etc. [pawn]new h; if(h <= 15) return print("h este mai mic decat 15!!!");[/pawn] Acesta a fost sfaristul celui de-al doilea tutorial.In urmatorul tutroial,va voi explica instructiunile de tip REPETITIV. Daca v-am ajutat,va rog sa lasati un comentariu.Daca nu va place nu lasati comentariu asa...Daca este vre-o greseala in tutorial,invit adminii sa o corecteze!
  14. Linkul de la pastebin este aici
  15. Am uitat sa precizez ca nu am folosit CallBack-urile "OnPlayerRegister" si "OnPlayerLogin" in scriptul meu...am luat-o cu scriptul de la 0,nu am folosit decat tutoriale de aici si aici
  16. E buna pentru inceput.Multumim ca ai postat mappa pe forum!Ai primit un mare 4.75/5 din partea mea
  17. Buna,am o mica problema cu un dialog:linkul imaginii este aici.Sa va descriu problema:Am creeat un dialog cu stilul DIALOG_STYLE_INPUT si imi arata un dialog cu stilul DIALOG_STYLE_MSGBOX!!!WTFF???!!! Codul dialogului de register si la OnDialogResponse: [pawn]public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) { if(dialogid == 0) { if(response) { new password = inputtext[128]; new string[128]; INI_Open(file); INI_WriteString(file,"Parola",password); new pName[MAX_PLAYER_NAME]; GetPlayerName(playerid,"pName",sizeof(pName)); INI_WriteString(file,"Nume",pName); INI_WriteInt("Level",PInfo[playerid][level]); INI_WriteInt("Cash",PInfo[playerid][cash]); INI_WriteInt("Coins",PInfo[playerid][coins]); INI_WriteInt("Score",PInfo[playerid][score]); SendClientMessage(playerid,0x66FF00FF,"Te-ai inregistrat cu succes!!!"); format(string,128,"Te-ai inregistrat cu succes %s cu parola %s !!!",pName,password); SendClientMessage(playerid,0x66FF00FF,string); } else { SendClientMessage(playerid,0xFF0000FF,"Nu te-ai inregistrat!Ai primit KICK!!!"); Kick(playerid); } }[/pawn] V-as multumi mult daca m-ati putea ajuta!
  18. Deci...care mi-l recomanzi? :-/
  19. Deci SCAPAREA DE DATE = nu se scrie nimic in fisier,nu?
  20. Deci,as vrea sa deschid un server si nu stiu ce sistem de salvare a datelor este mai bun...am incercat pana acum 3 sisteme(Dini,INI si file) si nici una nu mi sa salvat!!! :angry: .Deci,alegerea este a voastra!
  21. burnfire

    RXS

    Faina poza...FELICTARI :grin: O intrebaree:Cum ai facu sa apara RXS acolo,in prima imagine?Ce program ai folosit? :huh:
  22. Ma gandeam ca citesti in palma:)).Acum vorbind serios,mai JOS V-V am pus FS-ul!!![pawn]/*Acest sistem de admin este facut de burnfire Pentru mai multe contact id:[email protected] Thanks for wiki.samp.com pentru tutorialele foarte explicite*/ //Sa incepem// //Includes// #include <a_samp> #include <Dini> #include <dutils> #include <a_objects> //Define-uri// #define dcmd(%1,%2,%3) if ((strcmp((%3)[1], #%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, "")))||(((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1 #define COLOUR_GREEN 0x33AA33AA #define COLOUR_RED 0xAA3333AA #define COLOUR_YELLOW 0xFFFF00AA #define COLOUR_LIGHTBLUE 0x33CCFFAA #define COLOUR_ORANGE 0xFF9900AA #define PlayerFile "BAdmin/Status of PlaYer/Users/%s.ini" #define SettingFile "BAdmin/Settings/MainSettings.ini" #define CommandFile "BAdmin/Settings/Commands.ini" #define DIALOG_CMDS 0 //enums// enum PLAYER_MAIN { PLAYER_NAME[MAX_PLAYER_NAME], PLAYER_IP[16], PLAYER_REGGED, PLAYER_PASS, PLAYER_LOGGED, PLAYER_LEVEL, PLAYER_WIRED, PLAYER_JAILED } enum COMMANDS_MAIN { AKILL, ANNOUNCE, ARMOURALL, BAN, CARHP, EXPLODE, FLIP, GOTO, GETHERE, GIVEARMOUR, GIVEHEALTH, GIVEWEAPON, GOD, HEALALL, IMITATE, IP, KICK, MAXAMMO, PING, SETLEVEL, SETWANTED, TBAN, TIME, WEATHER } //News// new gPlayerInfo[MAX_PLAYERS][PLAYER_MAIN]; public OnFilterScriptInit() { print("\n****************************************"); print("* Admin FS by MR.burnfire*"); print("****************************************\n"); return 1; } public OnFilterScriptExit() { print("\n*******************************************"); print("Admin System UnLoAdEd"); return 1; } public OnPlayerConnect(playerid) { new file[100],Name[MAX_PLAYER_NAME],Ip[16]; GetPlayerName(playerid,Name,sizeof(Name)); GetPlayerIp(playerid,Ip,sizeof(Ip)); format(file,sizeof(file),PlayerFile,Name); if(!dini_Exists(file)) { dini_Create(file); dini_Set(file,"Nume",Name); dini_Set(file,"Ip",Ip); dini_IntSet(file,"Inregistrat",-1); dini_IntSet(file,"Parola",0); dini_IntSet(file,"Level",0); dini_IntSet(file,"Wired",0); dini_IntSet(file,"Jailed",0); } strcat(gPlayerInfo[playerid][PLAYER_NAME], dini_Get(file,"Name")); strcat(gPlayerInfo[playerid][PLAYER_IP], dini_Get(file,"Ip")); gPlayerInfo[playerid][PLAYER_REGGED] = dini_Int(file,"Registered"); gPlayerInfo[playerid][PLAYER_PASS] = dini_Int(file,"Password"); gPlayerInfo[playerid][PLAYER_LEVEL] = dini_Int(file,"Level"); gPlayerInfo[playerid][PLAYER_WIRED] = dini_Int(file,"Wired"); gPlayerInfo[playerid][PLAYER_JAILED] = dini_Int(file,"Jailed"); if(gPlayerInfo[playerid][PLAYER_REGGED] == 0) SendClientMessage(playerid,COLOUR_ORANGE,"Trebuie sa te inregistrezi./register"); else if(gPlayerInfo[playerid][PLAYER_REGGED] == 1) SendClientMessage(playerid,COLOUR_ORANGE,"Trebuie sa te loghezi./login"); gPlayerInfo[playerid][PLAYER_REGGED] = 0; return 1; } public OnPlayerDisconnect(playerid, reason) { new file[100]; format(file,sizeof(file),PlayerFile,gPlayerInfo[playerid][PLAYER_NAME]); dini_Set(file,"Nume",gPlayerInfo[playerid][PLAYER_NAME]); dini_Set(file,"Ip",gPlayerInfo[playerid][PLAYER_IP]); dini_IntSet(file,"Inregistrat",gPlayerInfo[playerid][PLAYER_REGGED]); dini_IntSet(file,"Parola",gPlayerInfo[playerid][PLAYER_PASS]); dini_IntSet(file,"Level",gPlayerInfo[playerid][PLAYER_LEVEL]); dini_IntSet(file,"Wired",gPlayerInfo[playerid][PLAYER_WIRED]); dini_IntSet(file,"Jailed",gPlayerInfo[playerid][PLAYER_JAILED]); gPlayerInfo[playerid][PLAYER_NAME] = 0; gPlayerInfo[playerid][PLAYER_IP] = 0; gPlayerInfo[playerid][PLAYER_REGGED] = 0; gPlayerInfo[playerid][PLAYER_LOGGED] = 0; gPlayerInfo[playerid][PLAYER_PASS] = 0; gPlayerInfo[playerid][PLAYER_LEVEL] = 0; gPlayerInfo[playerid][PLAYER_WIRED] = 0; gPlayerInfo[playerid][PLAYER_JAILED] = 0; return 1; } public OnPlayerCommandText(playerid, cmdtext[]) { dcmd(register, 8, cmdtext); dcmd(login, 5, cmdtext); dcmd(logout, 6, cmdtext); if (strcmp("/cmds", cmdtext, true, 10) == 0) { ShowPlayerDialog(playerid,0,DIALOG_STYLE_MSGBOX,"Comenzi","/register;/login;/logout\nAdmin commands:/akill;/announce","OK!",""); return 1; } if (strcmp("/donate", cmdtext, true, 10) == 0) { ShowPlayerDialog(playerid,1,DIALOG_STYLE_MSGBOX,"Donate","Pentru mai multe informatii accesati site-ul nostru:\n gta-know.ucoz.ro","OK!",""); return 1; } return 0; } dcmd_register(playerid, params[]) { if(gPlayerInfo[playerid][PLAYER_REGGED] == 1) return SendClientMessage(playerid, COLOUR_ORANGE, "Manager Account:Esti deja inregistrat"); else if(!params[0]) return SendClientMessage(playerid, COLOUR_ORANGE, "Manager comenzi:Aceasta comanda sa utilizeaza asa:/register parola"); else { new password = num_hash(params); gPlayerInfo[playerid][PLAYER_PASS] = password; gPlayerInfo[playerid][PLAYER_REGGED] = 1; gPlayerInfo[playerid][PLAYER_LOGGED] = 1; GetPlayerIp(playerid, gPlayerInfo[playerid][PLAYER_IP], 16); GetPlayerName(playerid,gPlayerInfo[playerid][PLAYER_NAME],128); new string[128]; format(string, sizeof(string), "Te-ai logat cu parola %s !!!", params); return SendClientMessage(playerid, COLOUR_LIGHTBLUE, string); } } dcmd_login(playerid, params[]) { if(gPlayerInfo[playerid][PLAYER_REGGED] != 1) return SendClientMessage(playerid, COLOUR_ORANGE, "Manager comenzi:Trebuie sa te inregistrezi mai intai!!!Inregistreaza-te cu /register parola"); else if(gPlayerInfo[playerid][PLAYER_LOGGED] == 1) return SendClientMessage(playerid, COLOUR_ORANGE, "Manager Account:Esti deja inregistrat"); else if(!params[0]) return SendClientMessage(playerid, COLOUR_ORANGE, "Manager comenzi:Aceasta comanda sa utilizeaza asa:/login parola"); else { new password = num_hash(params); if(gPlayerInfo[playerid][PLAYER_PASS] == password) { gPlayerInfo[playerid][PLAYER_LOGGED] = 1; GetPlayerIp(playerid, gPlayerInfo[playerid][PLAYER_IP], 16); return SendClientMessage(playerid, COLOUR_LIGHTBLUE, "You have successfully logged in to your account."); } else return SendClientMessage(playerid, COLOUR_ORANGE, "ERROR: Incorrect password."); } } dcmd_logout(playerid, params[]) { #pragma unused params if(gPlayerInfo[playerid][PLAYER_REGGED] != 1) return SendClientMessage(playerid, COLOUR_ORANGE, "Manager Accounturi:Trebuie sa te inregistrezi ca sa utilizezi aceasta comanda dand /register parola"); else if(gPlayerInfo[playerid][PLAYER_LOGGED] == 0) return SendClientMessage(playerid, COLOUR_ORANGE, "Manager Accounturi:Esti deja deconectat"); else { gPlayerInfo[playerid][PLAYER_LOGGED] = 0; return SendClientMessage(playerid, COLOUR_LIGHTBLUE, "Manager Accounturi:Te-ai deconectat cu succes!!Ca sa te loghezi trebuie sa dai doar /login"); } } dcmd_akill(playerid, params[]) { if(gPlayerInfo[playerid][PLAYER_LEVEL] < gCommands[AKILL]) { new string[100]; SendClientMessage(playerid,COLOUR_ORANGE,"Manager comenzi:Trebuie sa fii admin level 5 MINIM ca sa utilizezi aceasta comanda return SendClientMessage(playerid, COLOUR_ORANGE, string); } else if(!strlen(params)) return SendClientMessage(playerid, COLOUR_ORANGE, "Manager comenzi:Aceasta comanda sa utilizeaza asa:/announce mesaj"); else { new id = (isNumeric(params)) ? strval(params) : GetPlayerId(params); if(IsPlayerConnected(id) && id != playerid) { SetPlayerHealth(id, 0.0); new string[128]; format(string, sizeof(string), "Ai fost omorat de admin %s", gPlayerInfo[playerid][PLAYER_NAME]); SendClientMessage(id, COLOUR_ORANGE, string); format(string, sizeof(string), "Ai omorat pe %s", gPlayerInfo[id][PLAYER_NAME]); return SendClientMessage(playerid, COLOUR_LIGHTBLUE, string); } else return SendClientMessage(playerid, COLOUR_ORANGE, "ERROR: You can not admin-kill yourself or a disconnected player."); } dcmd_announce(playerid, params[]) { if(gPlayerInfo[playerid][PLAYER_LEVEL] < gCommands[ANNOUNCE]) { new string[100]; format(string, sizeof(string), "You must be administrator level %d to use that command!", gCommands[ANNOUNCE]); return SendClientMessage(playerid, COLOUR_ORANGE, string); } else if(!strlen(params)) return SendClientMessage(playerid, COLOUR_ORANGE, "Manager comenzi:Aceasta comanda sa utilizeaza asa:/announce mesaj"); else return GameTextForAll(params, gSettings[ANNOUNCE_SECONDS], 1000, 3); } [/pawn]
  23. Am facut un mic sistem de admin dupa un tutorial de pe wiki.samp.com(am modificat unele mesaje).In acesta se foloseste include-ul Dini facut de DracoBlue...dar ce sa vezi...cand ma inregistrez imi arata niste mesaje puse de mine...ma uit si in scriptfile dar nu apare NIMIK NIMIK(doar ce era inainte :angry: :angry:AJUTOR!!!Multumesc
  24. Ok...Mersi foarte mult si sper ca si ceilalti sa se uite pe aici :D
  25. Mersi de explicatie!!!Dar pot folosi aceasta tehnica sa fac si alte comenzi de genu???ca de exemplu /ban id reason?Mersi
×
×
  • 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.