Jump to content

WiDuAlK

V.I.P
  • Posts

    1.337
  • Joined

  • Last visited

  • Days Won

    95

Everything posted by WiDuAlK

  1. Fa o cerere la sectiunea "Cereri tutoriale" si am sa iti fac eu unul.
  2. if(strcmp(cmd, "/setemail", true) == 0) { new email[50], string[200]; if(!IsPlayerConnected(playerid)) return SendClientMessage(playerid,-1,"Nu esti conectat!"); if(sscanf(param,"s[49]",email)) return SendClientMessage(playerid,-1,"SERVER: /setemail [Noul_Mail]!"); PlayerInfo[playerid][pEmail] = email format(string,sizeof(string),"Ti-ai schimbat emailul in: %s !", email); ShowPlayerDialog( playerid, Email_Dialog, DIALOG_STYLE_MSGBOX, "Noul Email", string, "Ok", "" ); return 1; } si o interpretezi tu ma :|
  3. cum ma cum? )) , eu ti-am dat un model, nu ti-am dat mura-n gura, tu vei interpreta, si incepand cu trecerea comandei pe STRCMP: if(strcmp(cmd, "/setemail", true) == 0) in loc de CMD:setemail(playerid,params[]) si continua interpretand la cum ai tu
  4. Ok , vezi daca ai cv cu SetSpawnInfo sau daca nu creaza tu o variabila de spawn de genu: if(playerVariables[playerid][pLeader] == 0 || playerVariables[playerid][pMember] == 0)) { SetPlayerPos(playerid,pozitia); }
  5. Vezi de la pOrigin modifica-i
  6. uite-ti comanda dupa cum am inteles eu din descriere: CMD:stergewanted(playerid,params[]) { new targetid, string[200]; if(sscanf(params,"u",targetid)) return SendClientMessage(playerid,-1,"SERVER: /stergewanted [NUME_PLAYER]"); if(!IsPlayerConnected(targetid)) return SendClientMessage(playerid,-1,"SERVER: Acest player nu este conectat!"); if(PlayerInfo[playerid][pMember] != 17 || PlayerInfo[playerid][pLeader] != 17) return SendClientMessage(playerid,-1,"Nu faci parte din factiunea cu NR 17!"); PlayerInfo[targetid][pWanted] = 0; PlayerInfo[targetid][pJailed] = 0; PlayerInfo[targetid][pJailedTime] = 0; format(string,sizeof(string),"I-ai sters wanted-ul lui %s",playerid); SendClientMessage(playerid,-1,string); format(string,sizeof(string),"%s ti-a sters wanted-ul!",targetid); SendClientMessage(playerid,-1,string); return 1; } daca nu e ce ai nevoie explica mai bine
  7. ) urca vehiculele pe GM. Punele ultimele. De ce? Restrictia la masinile de la factiuni sunt pe id, in sens ca de exemplu PD are 12 vehicule. Vehiculele respective sunt de la 1-12 numerotate pe ID. Ele sunt restrictionate de genu pvehicule(carid) >= 1 && pvehicule(carid) < = 12. Primele 12 vehicule apartin PD. Introduci un fs care contine 5 vehicule, id lor vor intra inaintea celor din GM adica id 1-5 apartin masinilor din FS 6-18 apartin PD. Confirm restrictiei primele 12 ID-uri ale vehiculelor sunt restrictionate, iar atunci cand punem fs va fi primele 5 masini din fs si primele 7 vehicule de la PD restrictionate, deci isi dau ID-urile peste cap. De aceea trebuie sa pui la urma vehiculele, in GM, pentru a nu intampina aceasta problema
  8. ia baga ma ce ti-am zis inainte de publicul ongamemodeinit , si imi zici daca se mai intampla. daca se mai intampla, ce nu cred ca e cazul posteaza server log
  9. baga in GM: main() { printf("GM LOADED"); }
  10. /hhelp: enum { Dialog_Comenzi }; if(strcmp(cmd, "/hhelp", true) == 0 || strcmp(cmd, "/hh", true) == 0) { new string[200]; if(IsPlayerConnected(playerid)) { SendClientMessage(playerid, 0x33CCFFAA,"|___________________________________________[Helper Commands]_____________________________________|"); if (PlayerInfo[playerid][pHelper] >= 1) { format(string,sizeof(string), "[Helper Level 1] /goto /check /setint /slap /hc /hod /sleeplist"); ShowPlayerDialog(playerid, Dialog_Comenzi, DIALOG_STYLE_MSGBOX, "Comenzi:", string, "Ok", "" ); } if (PlayerInfo[playerid][pHelper] >= 2) { format(string,sizeof(string), "[Helper Level 2] /gotosf /gotols /setvw /respawn /mute /goto"); ShowPlayerDialog(playerid, Dialog_Comenzi, DIALOG_STYLE_MSGBOX, "Comenzi:", string, "Ok", "" ); } if (PlayerInfo[playerid][pHelper] >= 3) { format(string,sizeof(string), "[Helper Level 3] /agl /gotom /setjob"); ShowPlayerDialog(playerid, Dialog_Comenzi, DIALOG_STYLE_MSGBOX, "Comenzi:", string, "Ok", "" ); } SendClientMessage(playerid, 0x33CCFFAA,"|__________________________________________[Helper Commands]________________________________________|"); } return 1; } /admins: enum { Dialog_admini }; if (strcmp(cmd, "/admins", true) == 0) { if(IsPlayerConnected(playerid)) { SendClientMessage(playerid, COLOR_RED, " "); SendClientMessage(playerid, COLOR_WHITE, "(____________________ {629FC4}Admins Online{FFFFFF} ____________________)"); new counta = 0; for(new i = 0; i < MAX_PLAYERS; i++) { if(IsPlayerConnected(i)) { if(PlayerInfo[pAdmin] >= 1 && PlayerInfo[pAdmin] < 1340) { new admtext[64]; if(PlayerInfo[pAdmin] == 7) { admtext = "Owner Server"; } // Owner else if(PlayerInfo[pAdmin] == 6) { admtext = "Scripter Server"; } else if(PlayerInfo[pAdmin] == 5) { admtext = "Co-Owner"; } else if(PlayerInfo[pAdmin] == 4) { admtext = "Admin Level 4"; } else if(PlayerInfo[pAdmin] == 3) { admtext = "Admin Level 3"; } else if(PlayerInfo[pAdmin] == 2) { admtext = "Admin Level 2"; } else if(PlayerInfo[pAdmin] == 1) { admtext = "Admin Level 1"; } GetPlayerName(i, sendername, sizeof(sendername)); counta++; if(AdminDuty == 0) { format(string, 128, "%s: {FFFFFF}%s - (%d)", sendername, admtext, i); ShowPlayerDialog(playerid, Dialog_admini, DIALOG_STYLE_MSGBOX, "Admini:", string, "Ok", "" ); } else { format(string, 128, "%s: {FFFFFF}%s - (%d) - {FAAFBE}is on duty", sendername, admtext, i); ShowPlayerDialog(playerid, Dialog_admini, DIALOG_STYLE_MSGBOX, "is on duty:", string, "Ok", "" ); } } } } } return 1; } /ah: enum { Dialog_Comenzi }; if(strcmp(cmd, "/ahelp", true) == 0 || strcmp(cmd, "/ah", true) == 0) { new string[1200]; if(IsPlayerConnected(playerid)) { if (PlayerInfo[playerid][pAdmin] >= 1) { format(string,sizeof(string),"*** Duty *** /aod(AdminOnDuty)"); format(string,sizeof(string),"%s *** Level 1 Administrator *** /fly /check /setint /setvw /mute /kickres /masked /unfreeze /learn /respawn /sleeplist",string); format(string,sizeof(string),"%s*** Level 1 Administrator *** /slap /goto /a (/ao)oc /name /setskin /ajail /freeze /spec /checkweapons /mp /cc",string); ShowPlayerDialog(playerid, Dialog_Comenzi, DIALOG_STYLE_MSGBOX, "Comenzi Admin:", string, "Ok", "" ); } if (PlayerInfo[playerid][pAdmin] >= 2) { format(string,sizeof(string),"*** Level 2 Administrator *** /skydive /noooc /setteam /bigears /respawnthiscar(/rtc) /agl /setjob /update /kick"); ShowPlayerDialog(playerid, Dialog_Comenzi, DIALOG_STYLE_MSGBOX, "Comenzi Admin:", string, "Ok", "" ); } if (PlayerInfo[playerid][pAdmin] >= 3) { format(string,sizeof(string),"*** Level 3 Administrator *** /cnnn /fourdive /gotols /prison /unprison /aunlock /apark /fuelcars /edit /vehslap"); format(string,sizeof(string),"%s*** Level 3 Administrator *** /mark /gotomark /gotolv /gotosf /gethere /oldcar /gotocar /getcar /setage",string); format(string,sizeof(string),"%s*** Level 3 Administrator *** /respawnallcars /respawnrentbikes /respawnrentcars /fixveh",string); ShowPlayerDialog(playerid, Dialog_Comenzi, DIALOG_STYLE_MSGBOX, "Comenzi Admin:", string, "Ok", "" ); } if (PlayerInfo[playerid][pAdmin] >= 4) { format(string,sizeof(string),"*** Level 4 Administrator *** /mole /setchamp /mk /sbizentrance"); format(string,sizeof(string),"%s*** Level 4 Administrator *** /sethp /setarmor /forceskin /supervehslap /nos /flip /destroycar /warover",string); ShowPlayerDialog(playerid, Dialog_Comenzi, DIALOG_STYLE_MSGBOX, "Comenzi Admin:", string, "Ok", "" ); } if (PlayerInfo[playerid][pAdmin] >= 5) { format(string,sizeof(string),"*** Level 5 Administrator *** /mole /setchamp /mk /sbizentrance"); format(string,sizeof(string),"%s*** Level 5 Administrator *** /setarmor /forceskin /explode /supervehslap /makeleader /bizentrance",string); format(string,sizeof(string),"%s*** Level 5 Administrator *** /givemoney",string); format(string,sizeof(string),"%s*** Level 5 Administrator *** /weather /weatherall /makeircadmin",string); format(string,sizeof(string),"%s*** Level 5 Administrator *** /givegun /crash /tod /startlotto",string); ShowPlayerDialog(playerid, Dialog_Comenzi, DIALOG_STYLE_MSGBOX, "Comenzi Admin:", string, "Ok", "" ); } if (PlayerInfo[playerid][pAdmin] >= 6) { format(string,sizeof(string),"*** Level 6 Founder *** /newcashbox /alllicenses /gethereall /moneyforall /rpforall /levelforall /setname /meventhelp /deleteacc /destroycar"); format(string,sizeof(string),"%s*** Level 6 Founder *** /unban /unbanip /blockacc /setstat /snowon /makevip /logout /logoutpl /logoutall /asellhouse /asellbiz /asellsbiz /asellcar /money(sets money)",string); ShowPlayerDialog(playerid, Dialog_Comenzi, DIALOG_STYLE_MSGBOX, "Comenzi Admin:", string, "Ok", "" ); } } return 1; } /stats: public ShowStats(playerid,targetid) { if(IsPlayerConnected(playerid)&&IsPlayerConnected(targetid)) { new cash = GetPlayerCash(targetid); new atext[20]; if(PlayerInfo[targetid][pSex] == 1) { atext = "Male"; } else if(PlayerInfo[targetid][pSex] == 2) { atext = "Female"; } new otext[20]; if(PlayerInfo[targetid][pOrigin] == 1) { otext = "Los Santos"; } else if(PlayerInfo[targetid][pOrigin] == 2) { otext = "Las Venturas"; } new ttext[20]; if(PlayerInfo[targetid][pMember] == 4 || PlayerInfo[targetid][pLeader] == 4) { ttext = "Medic"; } else if(gTeam[targetid] == 3 || gTeam[targetid] == 4) { ttext = "Civilian"; } else if(PlayerInfo[targetid][pMember] == 1 || PlayerInfo[targetid][pLeader] == 1) { ttext = "Police Department"; } else if(PlayerInfo[targetid][pMember] == 2 || PlayerInfo[targetid][pLeader] == 2) { ttext = "FBI Agent"; } else if(PlayerInfo[targetid][pMember] == 3 || PlayerInfo[targetid][pLeader] == 3) { ttext = "National Guard"; } else if(PlayerInfo[targetid][pMember] == 4 || PlayerInfo[targetid][pLeader] == 4) { ttext = "Medics"; } else if(PlayerInfo[targetid][pMember] == 14 || PlayerInfo[targetid][pLeader] == 14) { ttext = "The Ballas Gang"; } else if(PlayerInfo[targetid][pMember] == 6 || PlayerInfo[targetid][pLeader] == 6) { ttext = "The Corleone Family"; } else if(PlayerInfo[targetid][pMember] == 7 || PlayerInfo[targetid][pLeader] == 7) { ttext = "Primarul"; } else if(PlayerInfo[targetid][pMember] == 8 || PlayerInfo[targetid][pLeader] == 8) { ttext = "Hitman"; } else if(PlayerInfo[targetid][pMember] == 9 || PlayerInfo[targetid][pLeader] == 9) { ttext = "News Reporters"; } else if(PlayerInfo[targetid][pMember] == 10 || PlayerInfo[targetid][pLeader] == 10) { ttext = "Taxi Company"; } else if(PlayerInfo[targetid][pMember] == 11 || PlayerInfo[targetid][pLeader] == 11) { ttext = "Scoala de licente"; } else if(PlayerInfo[targetid][pMember] == 12 || PlayerInfo[targetid][pLeader] == 12) { ttext = "The Grove Street"; } else if(PlayerInfo[targetid][pMember] == 13 || PlayerInfo[targetid][pLeader] == 13) { ttext = "LaCosaNostra Family"; } else if(PlayerInfo[targetid][pMember] == 5 || PlayerInfo[targetid][pLeader] == 5) { ttext = "The Cuneo Family"; } else if(PlayerInfo[targetid][pMember] == 15 || PlayerInfo[targetid][pLeader] == 15) { ttext = "Varios Los Aztecas "; } else if(PlayerInfo[targetid][pMember] == 16 || PlayerInfo[targetid][pLeader] == 16) { ttext = "TCC"; } new dtext[20]; if(STDPlayer[targetid] == 1) { dtext = "Chlamydia"; } else if(STDPlayer[targetid] == 2) { dtext = "Gonorrhea"; } else if(STDPlayer[targetid] == 3) { dtext = "Syphilis"; } else { dtext = "None"; } new ftext[30]; if(PlayerInfo[targetid][pMember] == 1 || PlayerInfo[targetid][pLeader] == 1) { ftext = "Los Santos Police Department"; } else if(PlayerInfo[targetid][pMember] == 4 || PlayerInfo[targetid][pLeader] == 4) { ftext = "Firemen/Paramedics"; } else if(PlayerInfo[targetid][pMember] == 14 || PlayerInfo[targetid][pLeader] == 14) { ftext = "Ballas Gang"; } else if(PlayerInfo[targetid][pMember] == 6 || PlayerInfo[targetid][pLeader] == 6) { ftext = "Corleone"; } else if(PlayerInfo[targetid][pMember] == 11 || PlayerInfo[targetid][pLeader] == 11) { ftext = "License Faction"; } else if(PlayerInfo[targetid][pMember] == 12 || PlayerInfo[targetid][pLeader] == 12) { ftext = "Grove Street"; } else if(PlayerInfo[targetid][pMember] == 13 || PlayerInfo[targetid][pLeader] == 13) { ftext = "LaCosaNostra Family"; } else if(PlayerInfo[targetid][pMember] == 5 || PlayerInfo[targetid][pLeader] == 5) { ftext = "Ballas Gang"; } else if(PlayerInfo[targetid][pMember] == 15 || PlayerInfo[targetid][pLeader] == 15) { ftext = "Varios Los Aztecas"; } else { ftext = "None"; } new f2text[20]; if(PlayerInfo[targetid][pFMember] < 255) { f2text = FamilyInfo[PlayerInfo[targetid][pFMember]][FamilyName]; } else { f2text = "None"; } new rtext[64]; if(gTeam[targetid] == 5 || PlayerInfo[targetid][pFMember] < 255)//The 2 Organisations { if(PlayerInfo[targetid][pRank] == 1) { rtext = "Outsider"; } else if(PlayerInfo[targetid][pRank] == 2) { rtext = "Associate"; } else if(PlayerInfo[targetid][pRank] == 3) { rtext = "Soldier"; } else if(PlayerInfo[targetid][pRank] == 4) { rtext = "Capo"; } else if(PlayerInfo[targetid][pRank] == 5) { rtext = "Underboss"; } else if(PlayerInfo[targetid][pRank] == 6) { rtext = "Godfather"; } else { rtext = "Outsider"; } } else if(PlayerInfo[targetid][pMember] == 1 || PlayerInfo[targetid][pLeader] == 1)//PD Ranks { if(PlayerInfo[targetid][pRank] == 1) { rtext = "Cadet"; } else if(PlayerInfo[targetid][pRank] == 2) { rtext = "Police Officer"; } else if(PlayerInfo[targetid][pRank] == 3) { rtext = "Corporal"; } else if(PlayerInfo[targetid][pRank] == 4) { rtext = "Sergeant"; } else if(PlayerInfo[targetid][pRank] == 5) { rtext = "Lieutenant"; } else if(PlayerInfo[targetid][pRank] == 6) { rtext = "Captain"; } else if(PlayerInfo[targetid][pRank] == 7) { rtext = "Deputy Chief"; } else if(PlayerInfo[targetid][pRank] == 8) { rtext = "Chief"; } else { rtext = "Cadet"; } } else if(PlayerInfo[targetid][pMember] == 2 || PlayerInfo[targetid][pLeader] == 2)//FBI Ranks { if(PlayerInfo[targetid][pRank] == 1) { rtext = "Professional Staff"; } else if(PlayerInfo[targetid][pRank] == 2) { rtext = "Special Agent Trainee"; } else if(PlayerInfo[targetid][pRank] == 3) { rtext = "Special Agent"; } else if(PlayerInfo[targetid][pRank] == 4) { rtext = "Special Agent in Charge"; } else if(PlayerInfo[targetid][pRank] == 5) { rtext = "Assistant Director in Charge"; } else if(PlayerInfo[targetid][pRank] == 6) { rtext = "Director"; } else { rtext = "Intern"; } } else if(PlayerInfo[targetid][pMember] == 3 || PlayerInfo[targetid][pLeader] == 3)//NG Ranks { if(PlayerInfo[targetid][pRank] == 1) { rtext = "Private"; } else if(PlayerInfo[targetid][pRank] == 2) { rtext = "Sergeant"; } else if(PlayerInfo[targetid][pRank] == 3) { rtext = "Major"; } else if(PlayerInfo[targetid][pRank] == 4) { rtext = "Captain"; } else if(PlayerInfo[targetid][pRank] == 5) { rtext = "Lieutenant"; } else if(PlayerInfo[targetid][pRank] == 6) { rtext = "General"; } else { rtext = "Private"; } } else if(PlayerInfo[targetid][pMember] == 14 || PlayerInfo[targetid][pLeader] == 14)// Cuneo Ranks { if(PlayerInfo[targetid][pRank] == 1) { rtext = "Forastero"; } else if(PlayerInfo[targetid][pRank] == 2) { rtext = "Asociado"; } else if(PlayerInfo[targetid][pRank] == 3) { rtext = "Miembro"; } else if(PlayerInfo[targetid][pRank] == 4) { rtext = "Proscrito"; } else if(PlayerInfo[targetid][pRank] == 5) { rtext = "Mano Derecha"; } else if(PlayerInfo[targetid][pRank] == 6) { rtext = "Corona"; } else { rtext = "Guero"; } } else if(PlayerInfo[targetid][pMember] == 6 || PlayerInfo[targetid][pLeader] == 6)//Yardies Ranks { if(PlayerInfo[targetid][pRank] == 1) { rtext = "Outsider"; } else if(PlayerInfo[targetid][pRank] == 2) { rtext = "Giovane D'honore"; } else if(PlayerInfo[targetid][pRank] == 3) { rtext = "Piciotto"; } else if(PlayerInfo[targetid][pRank] == 4) { rtext = "Sgarrista"; } else if(PlayerInfo[targetid][pRank] == 5) { rtext = "Capo Regime"; } else if(PlayerInfo[targetid][pRank] == 6) { rtext = "Consiglieri"; } else if(PlayerInfo[targetid][pRank] == 7) { rtext = "Capo Bastone"; } else if(PlayerInfo[targetid][pRank] == 8) { rtext = "Capo Crimini"; } else { rtext = "Outsider"; } } else if(PlayerInfo[targetid][pMember] == 7)//Mayor ranks { if(PlayerInfo[targetid][pRank] == 1) { rtext = "Mayor's Driver"; } else if(PlayerInfo[targetid][pRank] == 2) { rtext = "Mayor's Bodyguard"; } else if(PlayerInfo[targetid][pRank] == 3) { rtext = "Mayor's Secretary"; } else if(PlayerInfo[targetid][pRank] == 4) { rtext = "Consilier"; } else if(PlayerInfo[targetid][pRank] == 5) { rtext = "vice-Mayor"; } else if(PlayerInfo[targetid][pRank] == 6) { rtext = "Mayor"; } else { rtext = "None"; } } else if(PlayerInfo[targetid][pMember] == 8 || PlayerInfo[targetid][pLeader] == 8)//Hitman Ranks { if(PlayerInfo[targetid][pRank] == 1) { rtext = "Freelancer"; } else if(PlayerInfo[targetid][pRank] == 2) { rtext = "Marksman"; } else if(PlayerInfo[targetid][pRank] == 3) { rtext = "Agent"; } else if(PlayerInfo[targetid][pRank] == 4) { rtext = "Special Agent"; } else if(PlayerInfo[targetid][pRank] == 5) { rtext = "Vice-Director"; } else if(PlayerInfo[targetid][pRank] == 6) { rtext = "Director"; } else { rtext = "Freelancer"; } } else if(PlayerInfo[targetid][pMember] == 9 || PlayerInfo[targetid][pLeader] == 9)//NR Ranks { if(PlayerInfo[targetid][pRank] == 1) { rtext = "Ucenic Jurnalist"; } else if(PlayerInfo[targetid][pRank] == 2) { rtext = "Journalist"; } else if(PlayerInfo[targetid][pRank] == 3) { rtext = "Head Journalist"; } else if(PlayerInfo[targetid][pRank] == 4) { rtext = "Secretarul manegerului Realitatea TV"; } else if(PlayerInfo[targetid][pRank] == 5) { rtext = "Mananger Realitatea TV"; } else if(PlayerInfo[targetid][pRank] == 6) { rtext = "Detinator Realitatea TV"; } else { rtext = "Intern Worker"; } } else if(PlayerInfo[targetid][pMember] == 10 || PlayerInfo[targetid][pLeader] == 10)//Taxi Company Ranks { if(PlayerInfo[targetid][pRank] == 1) { rtext = "Trainee"; } else if(PlayerInfo[targetid][pRank] == 2) { rtext = "Taxi Rookie"; } else if(PlayerInfo[targetid][pRank] == 3) { rtext = "Cabbie"; } else if(PlayerInfo[targetid][pRank] == 4) { rtext = "Dispatcher"; } else if(PlayerInfo[targetid][pRank] == 5) { rtext = "Shift Supervisor"; } else if(PlayerInfo[targetid][pRank] == 6) { rtext = "Yellow Cabs Owner"; } else { rtext = "Trainee"; } } else if(IsAnInstructor(targetid))//Driving/Flying School Ranks { if(PlayerInfo[targetid][pRank] == 1) { rtext = "Trainee"; } else if(PlayerInfo[targetid][pRank] == 2) { rtext = "Instructor"; } else if(PlayerInfo[targetid][pRank] == 3) { rtext = "Senior Instructor"; } else if(PlayerInfo[targetid][pRank] == 4) { rtext = "Manager"; } else if(PlayerInfo[targetid][pRank] == 5) { rtext = "Under Boss"; } else if(PlayerInfo[targetid][pRank] == 6) { rtext = "Boss"; } else { rtext = "Trainee"; } } else if(PlayerInfo[targetid][pMember] == 12 || PlayerInfo[targetid][pLeader] == 12)//Grove Ranks { if(PlayerInfo[targetid][pRank] == 1) { rtext = "Outsider"; } else if(PlayerInfo[targetid][pRank] == 2) { rtext = "Gangsta"; } else if(PlayerInfo[targetid][pRank] == 3) { rtext = "Thug"; } else if(PlayerInfo[targetid][pRank] == 4) { rtext = "Soulja"; } else if(PlayerInfo[targetid][pRank] == 5) { rtext = "O.G"; } else if(PlayerInfo[targetid][pRank] == 6) { rtext = "Senior O.G"; } else if(PlayerInfo[targetid][pRank] == 7) { rtext = "Top O.G"; } else { rtext = "Outsider"; } } else if(PlayerInfo[targetid][pMember] == 13 || PlayerInfo[targetid][pLeader] == 13)//LaCosaNostra Family Ranks { if(PlayerInfo[targetid][pRank] == 1) { rtext = "Soldiers"; } else if(PlayerInfo[targetid][pRank] == 2) { rtext = "Associates"; } else if(PlayerInfo[targetid][pRank] == 3) { rtext = "Caporegime"; } else if(PlayerInfo[targetid][pRank] == 4) { rtext = "Blood Pusher"; } else if(PlayerInfo[targetid][pRank] == 5) { rtext = "Blood Runner"; } else if(PlayerInfo[targetid][pRank] == 6) { rtext = "Underboss"; } else if(PlayerInfo[targetid][pRank] == 7) { rtext = "Boss"; } else if(PlayerInfo[targetid][pRank] == 8) { rtext = "Boss"; } else if(PlayerInfo[targetid][pRank] == 9) { rtext = "Consigliere"; } else { rtext = "Dumb Hoe"; } } else if(PlayerInfo[targetid][pMember] == 5 || PlayerInfo[targetid][pLeader] == 5)//Ballas Gang ranks { if(PlayerInfo[targetid][pRank] == 1) { rtext = "Solntsevskaya bratva"; } else if(PlayerInfo[targetid][pRank] == 2) { rtext = "Izmaylovskaya"; } else if(PlayerInfo[targetid][pRank] == 3) { rtext = "Tambov"; } else if(PlayerInfo[targetid][pRank] == 4) { rtext = "Capo"; } else if(PlayerInfo[targetid][pRank] == 5) { rtext = "Potato"; } else if(PlayerInfo[targetid][pRank] == 6) { rtext = "Don Pov"; } else { rtext = "Gaij in"; } } else if(PlayerInfo[targetid][pMember] == 15 || PlayerInfo[targetid][pLeader] == 15)//Varios Los Aztecas ranks { if(PlayerInfo[targetid][pRank] == 1) { rtext = "Gaij in"; } else if(PlayerInfo[targetid][pRank] == 2) { rtext = "Wakashu"; } else if(PlayerInfo[targetid][pRank] == 3) { rtext = "Shatei"; } else if(PlayerInfo[targetid][pRank] == 4) { rtext = "Capo"; } else if(PlayerInfo[targetid][pRank] == 5) { rtext = "Don's right hand"; } else if(PlayerInfo[targetid][pRank] == 6) { rtext = "Don"; } else { rtext = "Gaij in"; } } else if(PlayerInfo[targetid][pMember] == 16 || PlayerInfo[targetid][pLeader] == 16)//Tow Car Company Ranks { if(PlayerInfo[targetid][pRank] == 1) { rtext = "Trainee"; } else if(PlayerInfo[targetid][pRank] == 2) { rtext = "Mechanic"; } else if(PlayerInfo[targetid][pRank] == 3) { rtext = "Senior Mechanic"; } else if(PlayerInfo[targetid][pRank] == 4) { rtext = "Manager"; } else if(PlayerInfo[targetid][pRank] == 5) { rtext = "Under Boss"; } else if(PlayerInfo[targetid][pRank] == 6) { rtext = "Tow Company Owner"; } else { rtext = "Trainee"; } } else { rtext = "None"; } new jtext[20]; if(PlayerInfo[targetid][pJob] == 1) { jtext = "Detective"; } else if(PlayerInfo[targetid][pJob] == 2) { jtext = "Lawyer"; } else if(PlayerInfo[targetid][pJob] == 3) { jtext = "Whore"; } else if(PlayerInfo[targetid][pJob] == 4) { jtext = "Drugs Dealer"; } else if(PlayerInfo[targetid][pJob] == 5) { jtext = "Car Jacker"; } else if(PlayerInfo[targetid][pJob] == 6) { jtext = "News Reporter"; } else if(PlayerInfo[targetid][pJob] == 7) { jtext = "Car Mechanic"; } else if(PlayerInfo[targetid][pJob] == 8) { jtext = "Bodyguard"; } else if(PlayerInfo[targetid][pJob] == 9) { jtext = "Arms Dealer"; } else if(PlayerInfo[targetid][pJob] == 10) { jtext = "Car Dealer"; } else if(PlayerInfo[targetid][pJob] == 12) { jtext = "Boxer"; } else if(PlayerInfo[targetid][pJob] == 14) { jtext = "Bus Driver"; } else if(PlayerInfo[targetid][pJob] == 12) { jtext = "Paper Boy"; } else if(PlayerInfo[targetid][pJob] == 16) { jtext = "Trucker"; } else if(PlayerInfo[targetid][pJob] == 17) { jtext = "Pizza Boy"; } else if(PlayerInfo[targetid][pJob] == 18) { jtext = "Farmer"; } else if(PlayerInfo[targetid][pJob] == 19) { jtext = "Illegal Farmer"; } else if(PlayerInfo[targetid][pJob] == 20) { jtext = "Drugs Smuggler"; } else if(PlayerInfo[targetid][pJob] == 21) { jtext = "Street sweeper"; } else if(PlayerInfo[targetid][pJob] == 22) { jtext = "Materials smuggler"; } else if(PlayerInfo[targetid][pJob] == 23) { jtext = "Gun maker"; } else if(PlayerInfo[targetid][pJob] == 24) { jtext = "Livrator"; } else { jtext = "None"; } new drank[20]; if(PlayerInfo[targetid][pDonateRank] == 1) { drank = "Bronze donater"; } else if(PlayerInfo[targetid][pDonateRank] >= 2) { drank = "Golden donater"; } else { drank = "None"; } new ctext[20]; if(PlayerInfo[targetid][pCMember] == 1 || PlayerInfo[targetid][pCLeader] == 1) { ctext = "[F4L]"; } else { ctext = "None"; } /*new married[20]; strmid(married, PlayerInfo[targetid][pMarriedTo], 0, strlen(PlayerInfo[targetid][pMarriedTo]), 255);*/ new age = PlayerInfo[targetid]; new ptime = PlayerInfo[targetid][pConnectTime]; //new lotto = PlayerInfo[targetid][pLottoNr]; //new deaths = PlayerInfo[targetid][pDeaths]; //new fishes = PlayerInfo[targetid][pFishes]; new bigfish = PlayerInfo[targetid][pBiggestFish]; //new crimes = PlayerInfo[targetid][pCrimes]; new arrests = PlayerInfo[targetid][pArrested]; //new warrests = PlayerInfo[targetid][pWantedDeaths]; new drugs = PlayerInfo[targetid][pDrugs]; new mats = PlayerInfo[targetid][pMats]; //new wanted = WantedLevel[targetid]; new level = PlayerInfo[targetid][pLevel]; new exp = PlayerInfo[targetid][pExp]; //new kills = PlayerInfo[targetid][pKills]; new pnumber = PlayerInfo[targetid][pPnumber]; new account = PlayerInfo[targetid][pAccount]; new nxtlevel = PlayerInfo[targetid][pLevel]; new expamount = nxtlevel*levelexp; new costlevel = nxtlevel*levelcost;//10k for testing purposes new housekey = PlayerInfo[targetid][pPhousekey]; new bizkey = PlayerInfo[targetid][pPbiskey]; new carkey = PlayerInfo[targetid][pPcarkey]; new carkey2 = PlayerInfo[targetid][pPcarkey2]; new intir = PlayerInfo[targetid][pInt]; new virworld = PlayerInfo[targetid][pVirWorld]; new local = PlayerInfo[targetid][pLocal]; new admin = PlayerInfo[targetid][pAdmin]; new robstat = PlayerInfo[targetid][pRob]; new married[20]; strmid(married, PlayerInfo[targetid][pMarriedTo], 0, strlen(PlayerInfo[targetid][pMarriedTo]), 255); new helperl = PlayerInfo[targetid][pHelper]; new warns = PlayerInfo[targetid][pWarns]; new fwarns = PlayerInfo[targetid][pFwarn]; new punish = PlayerInfo[targetid][pPunish]; new wanted = PlayerInfo[targetid][pWantedLevel]; //new Float:shealth = PlayerInfo[targetid][pSHealth]; new Float:health; new name[MAX_PLAYER_NAME]; GetPlayerName(targetid, name, sizeof(name)); GetPlayerHealth(targetid,health); new Float:px,Float:py,Float:pz; GetPlayerPos(targetid, px, py, pz); new coordsstring[256]; format(coordsstring, sizeof(coordsstring),"____________________| %s |____________________",name); SendClientMessage(playerid, COLOR_GREEN,coordsstring); format(coordsstring, sizeof(coordsstring), "%sLevel:[%d] Sex:[%s] Age:[%d] Cash:[$%d] Bank:[$%d] Ph:[%d] DonateRank:[%s] MarriedTo:[%s]",string, level,atext,age,cash,account,pnumber,drank,married); ShowPlayerDialog(playerid, Dialog_Comenzi, DIALOG_STYLE_MSGBOX, "Stats:", coordsstring, "Ok", "" ); format(coordsstring, sizeof(coordsstring), "%sPlayingHours:[%d] BiggestFish:[%d] TimesArrested:[%d] Job:[%s] Respect:[%d/%d] NextLevel:[$%d] Rob:[%d/15]",string, ptime,bigfish,arrests,jtext,exp,expamount,costlevel,robstat); ShowPlayerDialog(playerid, Dialog_Comenzi, DIALOG_STYLE_MSGBOX, "Stats:", coordsstring, "Ok", "" ); format(coordsstring, sizeof(coordsstring), "%sDrugs:[%d] Materials:[%d] Team:[%s] Organisation:[%s] Rank:[%s] Wanted: [%d/10]",drugs,mats,ttext,ftext,rtext,wanted); ShowPlayerDialog(playerid, Dialog_Comenzi, DIALOG_STYLE_MSGBOX, "Stats:", coordsstring, "Ok", "" ); format(coordsstring,sizeof(coordsstring), "%sAdmin-Level:[%d] Helper-Level: [%d] Warns:[%d/3] FactionWarns:[%d/5] FactionPunish[%d/20] ",string, admin,helperl,warns,fwarns,punish); ShowPlayerDialog(playerid, Dialog_Comenzi, DIALOG_STYLE_MSGBOX, "Stats:", coordsstring, "Ok", "" ); if (PlayerInfo[targetid][pPcarkey] != 999) { format(coordsstring, sizeof(coordsstring), "%sVehModel:[%s] VehValue:[%d] VehColor1:[%d] VehColor2:[%d] VehLocked:[%d]",string, CarInfo[carkey][cDescription], CarInfo[carkey][cValue], CarInfo[carkey][cColorOne], CarInfo[carkey][cColorTwo], CarInfo[carkey][cLock]); ShowPlayerDialog(playerid, Dialog_Comenzi, DIALOG_STYLE_MSGBOX, "Stats:", coordsstring, "Ok", "" ); } if (PlayerInfo[targetid][pPcarkey2] != 999) { format(coordsstring, sizeof(coordsstring), "%sVehModel:[%s] VehValue:[%d] VehColor1:[%d] VehColor2:[%d] VehLocked:[%d]",string, CarInfo[carkey2][cDescription], CarInfo[carkey][cValue], CarInfo[carkey2][cColorOne], CarInfo[carkey2][cColorTwo], CarInfo[carkey2][cLock]); ShowPlayerDialog(playerid, Dialog_Comenzi, DIALOG_STYLE_MSGBOX, "Stats:", coordsstring, "Ok", "" ); } if (PlayerInfo[playerid][pAdmin] >= 1) { format(coordsstring, sizeof(coordsstring), "%sHouse key [%d] Business key [%d] Vehicle [%d] Vehicle2 [%d] HireKey [%d] int:[%d] virworld:[%d] local[%d]",string, housekey,bizkey,carkey,carkey2,HireCar[targetid],intir,virworld,local); ShowPlayerDialog(playerid, Dialog_Comenzi, DIALOG_STYLE_MSGBOX, "Stats:", coordsstring, "Ok", "" ); } SendClientMessage(playerid, COLOR_GREEN,"___________________________________________________________"); } } nu le-am testat, le testezi tu
  11. Salut, daca vrei sa iti apara in dialog , fara a selecta inlocuieste: DIALOG_STYLE_LIST de la ShowPlayerDialog(playerid, 4500, DIALOG_STYLE_LIST,"%s", szMessage, "Select", "Cancel", szMessage); cu DIALOG_STYLE_MSGBOX asa: ShowPlayerDialog(playerid, 4500, DIALOG_STYLE_MSGBOX,"%s", szMessage, "Select", "Cancel", szMessage); Topic Rezolvat?
  12. T/C problema rezolvata
  13. Ce incearca ala sa faca acolo?
  14. Vrei sa dai si click pe ele? nu prea poti , doar daca faci cu TD.Acolo e doar un format pus pe dialog
  15. 1)Cum ai definit email? 3) incearca cv de genu si interpretezi tu: #define Email_Dialog 1234//(sa nu fie vro problema) CMD:setemail(playerid,params[]) { new email[50], string[200]; if(!IsPlayerConnected(playerid)) return SendClientMessage(playerid,-1,"Nu esti conectat!"); if(sscanf(param,"s[49]",email)) return SendClientMessage(playerid,-1,"SERVER: /setemail [Noul_Mail]!"); PlayerInfo[playerid][pEmail] = email format(string,sizeof(string),"Ti-ai schimbat emailul in: %s !", email); ShowPlayerDialog( playerid, Email_Dialog, DIALOG_STYLE_MSGBOX, "Noul Email", string, "Ok", "" ); return 1; }
  16. .... am gasit-o intr-un GM mai vechi aceasta comanda new Seatbelt[MAX_PLAYERS]; if(strcmp(cmd, "/centura", true) == 0) { if(IsPlayerConnected(playerid)) { GetPlayerName(playerid, sendername, sizeof(sendername)); new length = strlen(cmdtext); while ((idx < length) && (cmdtext[idx] <= ' ')) { idx++; } new offset = idx; new result[64]; while ((idx < length) && ((idx - offset) < (sizeof(result) - 1))) { result[idx - offset] = cmdtext[idx]; idx++; } result[idx - offset] = EOS; new newcar = GetPlayerVehicleID(playerid); if(!strlen(result) && IsPlayerInAnyVehicle(playerid) == 0 || IsPlayerInAnyVehicle(playerid) && IsABMX(newcar) || IsPlayerInAnyVehicle(playerid) && IsAScuterCar(newcar) || IsPlayerInAnyVehicle(playerid) && IsAMotor(newcar)) { //line 124 SendClientMessage(playerid, COLOR_GRAD2, "Trebuie sa fi intr-o masina pentru ati pune centura."); return 1; } if(IsPlayerInAnyVehicle(playerid) == 1 && Seatbelt[playerid] == 0) { Seatbelt[playerid] = 1; //SetPlayerAttachedObject(playerid,2,GetWeaponModel(weaponid[4]),7, 0.000000, -0.100000, -0.080000, -95.000000, -10.000000, 0.000000, 1.000000, 1.000000, 1.000000); SetPlayerAttachedObject( playerid, 2, 18634, 7,0.000000, 0.100000, 0.350000, -35.224993, 45.215000, 1.500000, 5.000000, 1.500000, 1.500000); //SetPVarInt(playerid, "ova",CreateObject(1044,0,0,0,0,0,0)); 099879 //AttachObjectToVehicle(GetPVarInt(playerid, "ova"), GetPlayerVehicleID(playerid),2, 18634, 7,0.100000, 0.200000, 0.300000, -65.224993, 45.215000, 1.500000, 5.000000, 1.500000, 1.500000); //Object Model: 18634 | format(string, sizeof(string), "* %s si-a pus centura.", sendername); } else if(IsPlayerInAnyVehicle(playerid) == 1 && Seatbelt[playerid] == 1) { Seatbelt[playerid] = 0; for(new i;i<5;i++) RemovePlayerAttachedObject(playerid,i); //DestroyObject(GetPVarInt(playerid, "ova")); format(string, sizeof(string), "* %s si-a dat jos centura.", sendername); } ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE); printf("%s", string); } return 1; } nu cred ca e nevoie sa iti explic fiecare functie in parte, daca chiar e nevoie iti explic
  17. ia uite-te putin aici: http://wiki.sa-mp.com/wiki/SetPlayerMapIcon si aici http://wiki.sa-mp.com/wiki/ShowPlayerMarkers , si verifica daca ai pus bine sau nu
  18. Happy birthday man!
  19. WiDuAlK

    Ajutor urgent

    1) Ai gresit sectiunea, sectiunea care se posteaza cv de genu e Cerere Tutoriale 2) ai un model de respectat 3) Citeste regulile forumului 4) Hai sa fiu mai indulgent si sa te ajut, chiar daca nu ai respectat regulamentul. faci in felul urmator: te duci langa DS, si scri /save. Te duci Local Disk C >documents> GTA San Andreas User Files > SAMP si ai un fisier .txt numit "savedpositions". Il deschizi si vei avea cv de genu: AddPlayerClass(95,1799.0400,-1286.8243,13.6301,35.0237,0,0,0,0,0,0); // Tu ai nevoie de coordonate. 95 reprezinta id. 1799.0400,-1286.8243,13.6301 - reprezinta coordonatele X Y Z pe care le vei trece in comanda. voi face pe 2 procesoare de comenzi: STRCMP si ZCMD, tu ai sa pui pe ce procesor folosesti(probabil STRCMP) STRCMP: if(strcmp(cmd, "/gotodealer", true) == 0) { new vehicleid = GetPlayerVehicleID(playerid);// definim vehicleid ca fiind masina in care suntem if(!IsPlayerConnected(playerid))// verificam daca playerul care foloseste comanda este conectat, si daca nu, return SendClientMessage(playerid,-1,"Nu esti conectat!"); // ii da mesajul corespunzator if(PlayerInfo(playerid)(pAdmin) < 1) // se verifica daca playerul are administrator, daca nu return SendClientMessage(playerid,-1,"Nu esti admin!"); // ii da mesajul corespunzator if (GetPlayerState(playerid) == 2) // verificam daca playerul este in masina { SetVehiclePos(vehicleid, posX(ds),posY(ds),posZ(ds));// daca este ii teleporteza si pe el , si vehiculul la coordonate } else SetPlayerPos(playerid, posX(ds),posY(ds),posZ(ds)); // daca nu este in vehicul , playerul care foloseste comanda se va teleporta fara masina. return 1; } si pe ZCMD CMD:gotodealer(playerid,params[]) { new vehicleid = GetPlayerVehicleID(playerid);// definim vehicleid ca fiind masina in care suntem if(!IsPlayerConnected(playerid))// verificam daca playerul care foloseste comanda este conectat, si daca nu, return SendClientMessage(playerid,-1,"Nu esti conectat!"); // ii da mesajul corespunzator if(PlayerInfo(playerid)(pAdmin) < 1) // se verifica daca playerul are administrator, daca nu return SendClientMessage(playerid,-1,"Nu esti admin!"); // ii da mesajul corespunzator if (GetPlayerState(playerid) == 2) // verificam daca playerul este in masina { SetVehiclePos(vehicleid, posX(ds),posY(ds),posZ(ds));// daca este ii teleporteza si pe el , si vehiculul la coordonate } else SetPlayerPos(playerid, posX(ds),posY(ds),posZ(ds)); // daca nu este in vehicul , playerul care foloseste comanda se va teleporta fara masina. return 1; } SetPlayerPos(playerid, si coordonatele de la savedposition); SetVehiclePos(playerid, si coordonatele de la savedposition);
  20. mersi, sper ca am explicat destul de bine....
  21. mersi, mai vreau pareri
  22. Salutare, azi am sa va prezint cum sa faceti un tutorial register/login mysql R39. Mai intai o sa va trebuiasca pluginul si includeul mysql care ip puteti gasi AICI! Mai intai o sa punem la inceputul GM-ului include-ul mysql. #include <a_mysql> Acum o sa definim datele de conectare #define mysql_host "localhost" // aici punem ip hostului. Daca folosim in PC GM lasam localhost #define mysql_db "bazadate"// aici punem numele bazei de date. #define mysql_user "root"// aici punem numele userului de la host. Daca folositi PC lasati root. #define mysql_pass ""//Aici puneti parola de la host(de la phpmyadmin al hostului). In caz de folositi PC lasati asa. Vom crea 2 Enum-uri. Unul cu dialogurile de register/login si altul cu datele pe care le va avea playerul enum { DIALOG_LOGIN, // dialogul de login DIALOG_REGISTER// dialogul de register }; enum pInfo //numele enumului este pInfo. in el vom pune datele playerului gen Admin/Level/ Money/Experianta si altele. { pParola,//cu pParola vom lua parola din baza de date a playerului pID// cu pID vom lua ID-ul din baza de date a playerului }; new P_Data[MAX_PLAYERS][pInfo];// Aceasta variabila este array. cu ea vom verifica 2 lucruri. id playerului si datele lui gen P_Data[playerid][pID] == 1; Vom crea acum un new care ne va ajuta sa conectam datele de conectarea cu baza de date new handle; // handle(mâner) este cea de care ne vom folosi sa facem lagatura intre baza de date si server Acum vom crea legatura intre baza de date si server. forward MySQLConnect();// se creaza un nou callback cu forward public MySQLConnect()// se face callback-ul { handle = mysql_connect(mysql_host, mysql_user, mysql_db, mysql_pass);// definim handle(manerul) ca fiind conectarea mysql la host, baza de date, parola si user-ul if(mysql_errno() != 0)// in caz ca aceasta va fi diferita de 0(0 inseamna ca e conectat, 1 inseamna ca nu e conectat , fiind un vector) { printf("Conexiunea la baza de date %s a esuat ---> Server Inchis ~~~", mysql_db);// va trimite un mesaj in consola SendRconCommand("exit");// se inchide serverul } else// altfel daca este 0(daca se face legatura) { printf("Conexiunea la baza de date '%s' cu user-ul '%s' a reusit!!!", mysql_db, mysql_user);// ne va da acest mesaj in consola } return 1; } Callback-ul MySQLConnect se va pune la OnGameModeInit pentru a fi finalizata conectarea la baza de date. public OnGameModeInit() { MySQLConnect(); return 1; } Se va crea un stock simplu cu care vom selecta numele playerului stock GetName(playerid) { new Name[MAX_PLAYER_NAME]; GetPlayerName(playerid, Name, sizeof(Name)); return Name; } Acum vom se va crea un nou callback , la care vom apela cand playerul se conecteaza. El va arata daca are cont sau nu. forward OnPlayerLogin(playerid);// se creaza callbac-ul public OnPlayerLogin(playerid)//Se creaza publicul { new rows, fields;// definim rows(randurile)si fields(domeniile) cache_get_data(rows, fields);//cache_get_data interogheaza date din baza de date. acele date sunt rows si fields if(rows)// atunci cand playerul se inregistreaza i se va crea 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 contuului mai jos!", "Logare", "Exit");// dialogul register } else// daca nu i se gasesc randuri, adica daca contul nu exista, 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; } Acum ca am creat dialogul care ne ajuta sa verificam daca playerul are cont sau nu , mergem la OnPlayerConnect si punem urmatoarele: public OnPlayerConnect(playerid) { new query[100];// definim query(interogare) mysql_format(handle, query, sizeof(query), "SELECT * FROM conturi WHERE Nume = '%s'", 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 = '%s'"- 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_tquery(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; } Acum ca am terminat cu callback-urile de la conectare, vom crea dialogurile. 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 GetPlayerIp(playerid, ip, sizeof(ip));// definim ip-ul de mai sus mysql_format(handle, query, sizeof(query), "INSERT INTO conturi (Nume, Parola, IP) VALUES ('%s', '%e', '%s')", GetName(playerid), inputtext, ip);// se insereaza in tabelul cu conturi numele playerului, parola pe care a scris-o si ip pe care il are mysql_query(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: mysql_format(handle, query, sizeof(query), "SELECT * FROM `conturi` WHERE `Nume`='%e' AND `Parola` = '%e'", GetName(playerid),inputtext);// va fi selectata parola de la tabelul cu conturi mysql_tquery(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; } Acum , ca am facut dialogurile , vom crea calback-urile care se interogheaza la dialogurile de mai sus. Vom crea callback-ul pentrul dialogul de register. Acum , vom crea callback-ul la care apeleaza dialogul de login forward OnLogin(playerid);// definim callback ul public OnLogin(playerid)// facem publicul { new rows, fields,temporar[200];// definim randurile si domeniile, iar temporar se va folosi la extragerea stringurilor cache_get_data(rows, fields);// facem interogarea lor if(rows)// daca playerul are randuri(adica daca are cont creat, odata cu contul se creeaza randurile) { //deci daca are randuri cache_get_field_content(0, "Parola",temporar), format(P_Data[playerid][pParola], 25, temporar);// 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) P_Data[playerid][pID] = cache_get_field_content_int(0, "ID");// i se vaextrage ip-ul //un exemplu ar fi , daca are Admin , va fi ceva de genu P_Data[playerid][pAdmin] = cache_get_field_content_int(0,"Admin)"; i se va extrage din baza de date levelul de admin si i se va returna pe server, mai precis, cand se conecteaza are levelul de admin , care i-a fost setat de owner SpawnPlayer(playerid);// si se va da spawn } 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; } Iar la final punem la OnGameModeExit(); public OnGameModeExit() { mysql_close( handle ) ;// deconectam serverul de la baza de date, daca se inchide return 1; } Acum , o sa recapitulam. Playerul are nevoie de ID, Nume, Parola si IP, deci 4 coloane in tabel. Tabelul se numeste "conturi", deoarece interogarea se face acolo "mysql_format(handle, query, sizeof(query), "SELECT * FROM conturi"-conturi este tabelul unde vor aparea ID ,Nume, Parola, IP Baza de date se numeste "bazadate" din: #define mysql_db "bazadate" O sa va arat acum cum se creaza tabelul. Pasul 1. Definim baza de date cu numele "basedate": Pasul 2: Se selecteaza noua baza: Pasul 3: Se creaza tabelul cu cele 4 coloane: Pasul 4: Se definesc coloanele , cu fiecare setare La tip INT = intenger= numar de cifre. Varchar = string = sir de caractere(litere) la Lungimea / setare se selecteaza cat spatiu se acorda, adica cate caractere incap maxim in acel tabel la id va fi maxim 9999999999(sun 10 cifre consecutive de "9", adica acel numar va fi maximul de playeri care pot avea cont) la nume, se va putea salva doar numele care contine doar 25 de caractere(adica daca numele depaseste 25 litere, doar primele 25 se vor salva) la interclasare la Varchar , mereu sa puneti latin1_sweadich_ci, de ce, asta nu pot spune nici eu , dar , stiu ca asa trebuie La ID tot timpul sa bifati casuta "A_I(auto Increment)" care va genera singur id-ul, altfel nu va merge tabelul conturi Asa ar trebui sa va arata , atunci cand va inregistrati: Atentie tutorial creat 100% de Widualk. Nerespectarea creditelor va duce la sanctiuni!
  23. Da pai am facut update... la fel face..oare e de la windows Vista Home Basic pe care il folosesc?
  24. hai ma wopss, chiar crezi ca nu am mai umblat cu bazele de date? sti prea bine ca inainte de a-mi reinstala windows-ul "ma laudam" la tine cu ce am mai facut din R33 ideal pentru RPG pe care l-ai postat tu... Am importat corect baza cu new>numele bazei(am dat rename>copy>si paste la new basedate), import>search>GO si mi-a aparut tabelurile, deci am importat-o corect. Probabil de la windows, ii fac un update cv si vin cu un reply daca a mers sau nu
  25. am importato de 2-3 ori cu wamp server si de 2 ori cu Xampp , si am tinut localhost deschis , dar la fel...
×
×
  • 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.