AvestX 5 Odesláno: 24. Prosinec, 2009 Share Odesláno: 24. Prosinec, 2009 Hi all. Předělal jsem banku od foresta. Takto to bylo: Takže nejdřív si nadefinujeme PICKUP (jako banku) takže mezi NEWS dáme: new bankapickup; Potom vytvoříme PICKUP pro banku,takže do public OnGameModeInit() dáme: bankapickup = CreatePickup(IDpickupu,1,X,Y,Z); //IDpickupu - doplnte si cislo PICKUPU, 1 nechte je to druh respawnu a místo XYZ doplnte souradnice,kde bude stát PICKUP Teď co se stane,když stoupneme do PICKUPU, takže do public OnPlayerPickUpPickup(playerid, pickupid) dáme: if(pickupid == bankapickup) //pokud se pickup rovná bankapickup proveď: { //počáteční závorka, co se stane v PICKUPU SendClientMessage(playerid,COLOR_ORANGE,"Nyní jsi v bance"); //pošle zprávu "Nyní jsi v bance" v oranžové barvě SendClientMessage(playerid,COLOR_YELLOW,"Použij:"); //pošle zprávu "Použij:" ve žluté barvě SendClientMessage(playerid,COLOR_WHITE,"/uloz, /vyber, /stav"); //pošle zprávu "/uloz, /vyber, /stav" v bílé barvě } //konečná závorka, co se stane v PICKUPU A teď už příkazy pro Bank System,takže pokud ještě nemáte tak ostatním DEFINE dáme: #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 //definice DCMd příkazu (pokud máte již v módu, tak vynechte Teď definice příkazů ULOŽ, VÝBĚR, STAV takže do public OnPlayerCommandText(playerid, cmdtext[]) dáme: dcmd(uloz,4,cmdtext); dcmd(vyber,5,cmdtext); dcmd(stav,4,cmdtext); A nakonec už jen jednotlivé příkazy, takže někam dolu do módu ULOŽ: dcmd_uloz(playerid,params[]) { if(IsPlayerInSphere(playerid, X,Y,Z,5) == 1) //za XYZ doplne stejne souradnice jako v PICKUPU a 5 nechte to je tzvn. radius (jak daleko od PICKUPU může použít příkaz) { new castka = strval(params[0]); if(!params[0]) { SendClientMessage(playerid, COLOR_WHITE, "[ ~ ] /uloz ( € )"); return 1; } new string[256]; new string2[256]; if(IsPlayerConnected(playerid)){ new sendermoney = GetPlayerMoney(playerid); if(castka <= sendermoney){ if(castka > 0){ bank[playerid] +=castka; GivePlayerMoney(playerid,-castka); format(string, sizeof(string), "Bylo uloženo %d€ na tvé konto", castka); SendClientMessage(playerid, COLOR_YELLOW, string); format(string2, sizeof(string), "Stav tvého konta : %d€", bank[playerid]); SendClientMessage(playerid, COLOR_YELLOW, string2); }else{ SendClientMessage(playerid, COLOR_RED2, "> ! < Chybná částka"); }}else{ SendClientMessage(playerid, COLOR_RED2, "> ! < Nemáš tolik peněz na tento vklad"); }} } return true; } VÝBĚR: dcmd_vyber(playerid,params[]) { if(IsPlayerInSphere(playerid,X,Y,Z,5) == 1) //za XYZ doplne stejne souradnice jako v PICKUPU a5 nechte to je tzvn. radius (jak daleko od PICKUPU může použít příkaz) { new castka = strval(params[0]); if(!params[0]) { SendClientMessage(playerid, COLOR_WHITE, "[ ~ ] /vyber ( € )"); return 1; } new string[256]; new string2[256]; if(IsPlayerConnected(playerid)) { if(castka <= bank[playerid]){ if(castka > 0){ bank[playerid] -=castka; GivePlayerMoney(playerid,castka); format(string, sizeof(string), "Bylo vybráno %d€ z tvého konta", castka); SendClientMessage(playerid, COLOR_YELLOW, string); format(string2, sizeof(string), "Stav tvého konta : %d€", bank[playerid]); SendClientMessage(playerid, COLOR_YELLOW, string2); }else{ SendClientMessage(playerid, COLOR_RED2, "> ! < Chybná částka"); }}else{ SendClientMessage(playerid, COLOR_RED2, "> ! < Nemáš tolik peněz v bance"); }} } return true; } STAV: dcmd_stav(playerid,params[]) { if(IsPlayerInSphere(playerid,X,Y,Z,5) == 1) //za XYZ doplne stejne souradnice jako v PICKUPU a5 nechte to je tzvn. radius (jak daleko od PICKUPU může použít příkaz) { #pragma unused params new string[256]; format(string, sizeof(string), "Stav tvého konta : %d€", bank[playerid]); SendClientMessage(playerid, COLOR_YELLOW, string); } return 1; } Dolu do módu: IsPlayerInSphere(playerid,Float:x,Float:y,Float:z,radius) { if(GetPlayerDistanceToPointEx(playerid,x,y,z) < radius){ return 1; } return 0; } GetPlayerDistanceToPointEx(playerid,Float:x,Float:y,Float:z) { new Float:x1,Float:y1,Float:z1; new Float:tmpdis; GetPlayerPos(playerid,x1,y1,z1); tmpdis = floatsqroot(floatpower(floatabs(floatsub(x,x1)),2)+floatpower(floatabs(floatsub(y,y1)),2)+floatpower(floatabs(floatsub(z,z1)),2)); return floatround(tmpdis); Předěláno na dialog: //--------| ' Includes ' |-------| #include //--------| ' Defines ' |-------| #define COLOR_RED2 0xFF0000AA #define COLOR_YELLOW 0xFF0000AA //--------| ' New ' |-----------| new BankaPick[1]; new Banka[MAX_PLAYERS]; //--------| ' Other ' |---------| forward GetPlayerDistanceToPointEx(playerid,Float:x,Float:y,Float:z); forward IsPlayerInSphere(playerid,Float:x,Float:y,Float:z,radius); //______________________________________________________________________________ public IsPlayerInSphere(playerid,Float:x,Float:y,Float:z,radius) { if(GetPlayerDistanceToPointEx(playerid,x,y,z) < radius) return 1; return 0; } public GetPlayerDistanceToPointEx(playerid,Float:x,Float:y,Float:z) { new Float:x1,Float:y1,Float:z12,Float:tmpdis; GetPlayerPos(playerid,x1,y1,z12); tmpdis = floatsqroot(floatpower(floatabs(floatsub(x,x1)),2) +floatpower(floatabs(floatsub(y,y1)),2)+floatpower(floatabs(floatsub(z,z12)),2)); return floatround(tmpdis); } //============================================================================== public OnFilterScriptInit() { BankaPick[0] = CreatePickup(1274,1,X,Y,Z); return 1; } //============================================================================== public OnFilterScriptExit() { DestroyPickup(BankaPick[0]); return 1; } //============================================================================== public OnPlayerPickUpPickup(playerid, pickupid) { if(pickupid == BankaPick[0]) { ShowPlayerDialog(playerid,1,DIALOG_STYLE_LIST,"Banka","Vložit peníze\nVybrat peníze\nStav peněz na účtu","Potvrdit","Nic"); } return 1; } //============================================================================== public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) { if(dialogid == 1) { if(response == 1) { if(listitem == 0) { ShowPlayerDialog(playerid,2,DIALOG_STYLE_INPUT,"Banka","Vložit peníze na svůj účet.\nNapiš částku.","Vložit","Konec"); } else if(listitem == 1) { ShowPlayerDialog(playerid,3,DIALOG_STYLE_INPUT,"Banka","Vybrat peníze z tvého účtu.\nNapiš částku.","Vybrat","Konec"); } else if(listitem == 2) { new string[256]; format(string, sizeof(string), "V bance na účtu máš nyní\n\n%d$", Banka[playerid]); ShowPlayerDialog(playerid,486,DIALOG_STYLE_MSGBOX,"Banka",string,"Ok","Konec"); } } } //============================================================================== if(dialogid == 2) { if(response == 1) { if(IsPlayerInSphere(playerid, X,Y,Z,5) == 1) { new castka = strval(inputtext[0]); if(!inputtext[0]) { ShowPlayerDialog(playerid,2,DIALOG_STYLE_INPUT,"Banka","Musíš napsat nějákou částku !\nNapiš částku.","Vložit","Konec"); return 1; } new string[256]; new string2[256]; if(IsPlayerConnected(playerid)) { new sendermoney = GetPlayerMoney(playerid); if(castka <= sendermoney) { if(castka > 0) { Banka[playerid] +=castka; GivePlayerMoney(playerid,-castka); format(string, sizeof(string), "Ulozil jsi si na konto %d$", castka); SendClientMessage(playerid, COLOR_YELLOW, string); format(string2, sizeof(string), "Stav tvého konta : %d€", Banka[playerid]); SendClientMessage(playerid, COLOR_YELLOW, string2); }else{ ShowPlayerDialog(playerid,2,DIALOG_STYLE_INPUT,"Banka","Musíte zadat číslo !\nNapiš částku.","Vložit","Konec"); } }else{ ShowPlayerDialog(playerid,2,DIALOG_STYLE_INPUT,"Banka","Nemáte u sebe tolik peněz !\nNapiš částku.","Vložit","Konec"); } } } } } //============================================================================== if(dialogid == 3) { if(response == 1) { if(IsPlayerInSphere(playerid,X,Y,Z,5) == 1) { new castka = strval(inputtext[0]); if(!inputtext[0]) { ShowPlayerDialog(playerid,3,DIALOG_STYLE_INPUT,"Banka","Musíš napsat částku !\nNapiš částku.","Vybrat","Konec"); return 1; } new string[256]; new string2[256]; if(IsPlayerConnected(playerid)) { if(castka <= Banka[playerid]) { if(castka > 0) { Banka[playerid] -=castka; GivePlayerMoney(playerid,castka); format(string, sizeof(string), "Bylo vybráno %d€ z tvého konta", castka); SendClientMessage(playerid, COLOR_YELLOW, string); format(string2, sizeof(string), "Stav tvého konta : %d€", Banka[playerid]); SendClientMessage(playerid, COLOR_YELLOW, string2); }else{ ShowPlayerDialog(playerid,3,DIALOG_STYLE_INPUT,"Banka","Musíte zadat číslo !\nNapiš částku.","Vybrat","Konec"); } }else{ ShowPlayerDialog(playerid,3,DIALOG_STYLE_INPUT,"Banka","V bance nemáš tolik peněz !\nNapiš částku.","Vybrat","Konec"); } } } } } return 1; } Doufam že se vám to bude líbit ještě si přidejte souřadnice, a ostatní ... Link to comment Share on other sites More sharing options...
dymi 0 Odesláno: 24. Prosinec, 2009 Share Odesláno: 24. Prosinec, 2009 Dobrý,pro mě zbytečný xD... kdyby si napsal ukládání skínu xD...nechápu proč mi taková cipovina nejde 9/10 ***Předělat?! Udělat vlastní ne ? Link to comment Share on other sites More sharing options...
AvestX 5 Odesláno: 24. Prosinec, 2009 Author Share Odesláno: 24. Prosinec, 2009 Když je člověk líný a nebaví ho se s tim takzvaně sprostě SRÁ* tak stačí předělat Link to comment Share on other sites More sharing options...
HEAD 0 Odesláno: 26. Prosinec, 2009 Share Odesláno: 26. Prosinec, 2009 Dobrý nápad, to mě nenapadlo možná to použiju (STYL) Sorry, ale kopirování užnení moje parketa to už přenechám mladším ročníkům akorat se na to budu muset naučit jak s dialogem zacházet ale nemyslimsi že to bude nějak Extra Těžký ---> 9,9/10,0 vzdy je co vylepsit ale inac pekne udelane Link to comment Share on other sites More sharing options...
AvestX 5 Odesláno: 26. Prosinec, 2009 Author Share Odesláno: 26. Prosinec, 2009 Nebaví mě do toho cpát hlavu xD Link to comment Share on other sites More sharing options...
djejsy 0 Odesláno: 27. Prosinec, 2009 Share Odesláno: 27. Prosinec, 2009 Sorrac ale nefunguje to... dialog naskoci ale ked vyberiem napr vlozit peniaze tak zmizne a potom naskoci naspet to je vsetko.... Link to comment Share on other sites More sharing options...
AvestX 5 Odesláno: 27. Prosinec, 2009 Author Share Odesláno: 27. Prosinec, 2009 Nemáš v modu ještě někde nějáký jiný dialogy ? nám ( mě, fugasovi ) to de Link to comment Share on other sites More sharing options...
癌癌癌 1 Odesláno: 27. Prosinec, 2009 Share Odesláno: 27. Prosinec, 2009 Jn přesně ps: aveste dialogovy id si mohl dat jiné třeba lol nebo 9999 takhle se to muže lidem plest (hlavně lamam co to neumej přepsat) EDIT: 3000 přispevek! Link to comment Share on other sites More sharing options...
djejsy 0 Odesláno: 27. Prosinec, 2009 Share Odesláno: 27. Prosinec, 2009 ja som si ID upravil len upozornujem..... Link to comment Share on other sites More sharing options...
AvestX 5 Odesláno: 27. Prosinec, 2009 Author Share Odesláno: 27. Prosinec, 2009 Divný, mě i fugasovi to de , napiš mi třeba na ICQ: 412683160 A klidně ukážu "santa" Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now