eLko 5 Odesláno: 17. Červenec, 2012 Share Odesláno: 17. Červenec, 2012 Dnes som tu s mojim prvým tutom, v ktorom by som vám chcel ukázať ako si vytvoriť svoj VIP systém s ukladaním. Ako 1. si vložíme include(samozrejme #include tam necháme) #include //Stiahnete tu na webe Ako 2. si vytvoríme new new Vip[MAX_PLAYERS]; new removevip[50]; new vipsave[50]; Po 3. si vytvoríme stock stock Meno(playerid) { new pName[MAX_PLAYER_NAME]; if(IsPlayerConnected(playerid)) { GetPlayerName(playerid, pName, sizeof(pName)); } return pName; } Po 4. si nadefinujeme DCMD #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 Tak začneme: Do OnPlayerConnect format(vipsave, sizeof(vipsave), "/VIP/%s.vip", Meno(playerid));// Cesta k hráčovému súboru meno.vip Vip[playerid] = dini_Bool(vipsave, "VIP");// Zo súboru načítame VIP Do OnPlayerCommandText dcmd(getvip,6,cmdtext); dcmd(removevip,9,cmdtext); A teraz úplne dole(nedávajte to do žiadneho publicu) dcmd_getvip(playerid, params[]) { new id = strval(params); if (!strlen(params)) return SendClientMessage(playerid, FARBA, "Použitie: /getvip [iD]"); else if(!IsPlayerConnected(id)) return SendClientMessage(playerid, FARBA, "Hráč s takímto ID nieje práve na on-line."); else if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, FARBA, "Iba RCON admin môže nadstavovať VIP"); else if(Vip[id] == 1) return SendClientMessage(playerid, FARBA, "Tento hráč už vlastní VIP"); else { Vip[id] = 1; new getvip[50]; format(getvip, sizeof(getvip), "Admin %s aktivoval hráčovy %s VIP.", Meno(playerid), Meno(id)); SendClientMessageForAll(FARBA, getvip); format(vipsave, sizeof(vipsave), "/VIP/%s.vip", Meno(id));// Súbor sa bude ukladať do scriptfiles/VIP/meno.vip if(!dini_Exists(vipsave))// ak hráčov súbor neexistuje { dini_Create(vipsave);// tak ho vytvoríme dini_BoolSet(vipsave, "VIP", Vip[playerid]);// a uložíme VIP } } return 1; } dcmd_removevip(playerid, params[]) { new id = strval(params); if (!strlen(params)) return SendClientMessage(playerid, F_ZELENA, "Použitie: /removevip [iD]"); else if(!IsPlayerConnected(id)) return SendClientMessage(playerid, F_SLABOMODRA, "Hráč s takímto ID nieje práve na on-line."); else if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, F_CERVENA, "Iba RCON admin môže odoberať VIP"); else if(Vip[id] == 0) return SendClientMessage(playerid, F_CERVENA, "Tento hráč nevlastní VIP"); else { Vip[id] = 0; format(removevip, sizeof(removevip), "Admin %s odobral hráčovi %s VIP", Meno(playerid), Meno(id)); SendClientMessageToAll(FARBA, removevip); format(vipsave, sizeof(vipsave), "/VIP/%s.vip", Meno(id));// Budeme to ukladať do priečinku vip v Scriptfiles, prípomonu si možte zmeniť if(dini_Exists(removevip)) { dini_Remove(removevip); // Odstani hracov subor v /VIP/meno.vip } } return 1; } Ak si budete chcieť vytvoriť vlastný príkaz tak si dajte do OnPlayerCommandText dcmd(vasprikaz,9,cmdtext);//namiesto 9 dajte pocet pismenok A dole dcmd_removevip(playerid, params[]) { #pragma unused params if(Vip[playerid] == 0) return SendClientMessage(playerid, FARBA, "Nevlastníš VIP. Iba VIP hráč môže použiť tento príkaz."); //vase funkcie alebo podmienky return 1; } Nieje to na skopírovanie!! Isto tam bude nejaký primitívny error. Dúfam že som na nič nezabudol . Link to comment Share on other sites More sharing options...
Arthom 6 Odesláno: 17. Červenec, 2012 Share Odesláno: 17. Červenec, 2012 mas tam chyby jak gramaticke no tak i take ale myslim ze je to dobre spravene neskusam /VIP/%s.vip ma byt aj na zaciatku / ? myslim ze nie Link to comment Share on other sites More sharing options...
eLko 5 Odesláno: 17. Červenec, 2012 Author Share Odesláno: 17. Červenec, 2012 Ja som ten tip ze gramaticke chyby si nevsimam :D .. ako myslis ze aj na zaciatku ?? Link to comment Share on other sites More sharing options...
Arthom 6 Odesláno: 17. Červenec, 2012 Share Odesláno: 17. Červenec, 2012 Ja som ten tip ze gramaticke chyby si nevsimam :D .. ako myslis ze aj na zaciatku ?? ta ze lomitko pred VIP suboroms Link to comment Share on other sites More sharing options...
eLko 5 Odesláno: 18. Červenec, 2012 Author Share Odesláno: 18. Červenec, 2012 Ja som ten tip ze gramaticke chyby si nevsimam :D .. ako myslis ze aj na zaciatku ?? ta ze lomitko pred VIP suboroms Ja mislim ze to je jedno. Viem že to ide :D. .. mam to tak v mojom VIP ....... Link to comment Share on other sites More sharing options...
Guest Odesláno: 18. Červenec, 2012 Share Odesláno: 18. Červenec, 2012 /VIP/%s.vip ma byt aj na zaciatku / ? myslim ze nie to je jedno Link to comment Share on other sites More sharing options...
mato0 0 Odesláno: 28. Srpen, 2012 Share Odesláno: 28. Srpen, 2012 ked toto napisem tak mi nejde compiler a ray sa spustil a pisal ze nemoze citat dutils Link to comment Share on other sites More sharing options...
Firess0 1 Odesláno: 9. Říjen, 2015 Share Odesláno: 9. Říjen, 2015 zabudol si define tich farieb Link to comment Share on other sites More sharing options...
Amenadiel 286 Odesláno: 9. Říjen, 2015 Share Odesláno: 9. Říjen, 2015 zabudol si define tich farieb ale to už doopravdy musím napsat.. Ty debile toto tema je 3 roky staré a pokud si ani neumíš najít na googlu #define tak raději vypni pawno a jdi dělat do M$ tam takové programatory uvítaj hned... 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