Vicente Grup: Administrators
Mesaje : 105 Puncte : 380 Reputatie : 2 Data de inscriere : 11/04/2013 Varsta : 30 Localizare : Center of the earth
| Subiect: Creare comandă /takeguns pentru clanuri Mar Mai 07, 2013 6:10 pm | |
| Majoritatea dintre probabil aţi văzut o comandă gen /takeguns, nu? În acest topic o să vă arăt cum se creează în special pentru clanuri.
1. Căutaţi în GM (ctrl+F)
- Citat :
- if (PlayerInfo[playerid][pMember] == 5 || PlayerInfo[playerid][pLeader] == 5) // La Cosa Nostra Spawn
{ if(PlayerInfo[playerid][pLCNspawn] == 0) { SetPlayerToTeamColor(playerid); SetPlayerPos(playerid, 1171.4990,-2036.9609,69.0078); SetPlayerFacingAngle(playerid, 270.0); SetPlayerInterior(playerid,0); PlayerInfo[playerid][pInt] = 0; return 1; } sau cuvinte cheie gen "spawn LCN" până daţi de liniile de mai sus![/size][/font]
După ce am făcut asta, înseamnă că acum la facţiune cu numărul 5 va apărea mereu membrilor textul de mai sus atunci când se vor spama la HQ
3. Adăugăm comanda /takeguns la OnPlayerCommandText (de exemplu, eu am adăugat-o sub comanda /hotdog)
- Citat :
- if(strcmp(cmd, "/takeguns", true) == 0)
{ if(IsPlayerConnected(playerid)) { if(GetPlayerMoney(playerid) >= 1500) { if(PlayerInfo[playerid][pMember] == 5 || PlayerInfo[playerid][pLeader] ==5) { if(PlayerToPoint(2.0, playerid,690.1519,-1276.1157,13.5597)) { if(PlayerInfo[playerid][pRank] == 1) { GivePlayerWeapon(playerid, 24, 50); GivePlayerWeapon(playerid, 30, 100); GivePlayerMoney(playerid, -3000); } else if(PlayerInfo[playerid][pRank] == 2) { GivePlayerWeapon(playerid, 24, 50); GivePlayerWeapon(playerid, 30, 100); GivePlayerMoney(playerid, -3000); } else if(PlayerInfo[playerid][pRank] == 3) { GivePlayerWeapon(playerid, 24, 50); GivePlayerWeapon(playerid, 30, 100); GivePlayerWeapon(playerid, 29, 100); GivePlayerMoney(playerid, -3000); } else if(PlayerInfo[playerid][pRank] == 4) { GivePlayerWeapon(playerid, 24, 50); GivePlayerWeapon(playerid, 30, 100); GivePlayerWeapon(playerid, 29, 100); GivePlayerMoney(playerid, -3000); } else if(PlayerInfo[playerid][pRank] == 5) { GivePlayerWeapon(playerid, 24, 50); GivePlayerWeapon(playerid, 30, 200); GivePlayerWeapon(playerid, 29, 100); GivePlayerMoney(playerid, -3000); } else { GivePlayerWeapon(playerid, 24, 50); GivePlayerWeapon(playerid, 30, 200); GivePlayerWeapon(playerid, 29, 100); GivePlayerWeapon(playerid, 34, 50); GivePlayerMoney(playerid, -3000); } ConsumingMoney[playerid] = 2; } else { SendClientMessage(playerid, COLOR_GRAD2, "Nu esti langa checkpoint-ul cu /takeguns!"); return 1; } } Ce reprezintă fiecare linie ?
- Citat :
- if (PlayerInfo[playerid][pMember] == 5 || PlayerInfo[playerid][pLeader] == 5)
5 = ID facţiunii/gang-ului pMember/pLeader = să fie accesată şi de membri şi de leaderi
- Citat :
- if(PlayerInfo[playerid][pLCNspawn] == 0)
0 = ID interiorului unde se va spawna jucătorul (adică afară)
- Citat :
- SetPlayerToTeamColor(playerid);
SetPlayerPos(playerid, 1171.4990,-2036.9609,69.0078); SetPlayerFacingAngle(playerid, 270.0); SetPlayerInterior(playerid,0); PlayerInfo[playerid][pInt] = 0; Aici sunt coordonatele unde se va spawna jucătorul (nu ne interesează) Acum, că v-am explicat toate chestiile astea, trecem la următorul pas.
2. Adăugăm:
- Citat :
- SendClientMessage(playerid, COLOR_WHITE, "{FFFFFF}Tasteaza {FF0000}/takeguns {FFFFFF}pentru a-ti lua arme in functie de rank (pret: 3.000$)!");
sub
- Citat :
- if(PlayerInfo[playerid][pLCNspawn] == 0)
{ adică tot scriptul ar trebui să arate cam aşa: - Citat :
if (PlayerInfo[playerid][pMember] == 5 || PlayerInfo[playerid][pLeader] == 5) // La Cosa Nostra Spawn { if(PlayerInfo[playerid][pLCNspawn] == 0) { SendClientMessage(playerid, COLOR_WHITE, "{FFFFFF}Tasteaza {FF0000}/takeguns {FFFFFF}pentru a-ti lua arme in functie de rank (pret: 3.000$)!"); SetPlayerToTeamColor(playerid); SetPlayerPos(playerid, 1171.4990,-2036.9609,69.0078); SetPlayerFacingAngle(playerid, 270.0); SetPlayerInterior(playerid,0); PlayerInfo[playerid][pInt] = 0; return 1; } La comanda /takeguns trebuie sa va explic cateva chestii: La:
- Citat :
- GivePlayerMoney(playerid, -3000);
3000 = suma care ti-o cere pentru a folosi /takeguns! La:
- Citat :
- if(PlayerToPoint(2.0, playerid,1123.8586,-2034.0748,69.8926))
acel "2.0" este distanta unde poti folosi /takeguns (adica la maxim 2m de pickup), iar acele coordonate sunt pentru locul unde tastezi /takeguns (aceleasi coordonate vor fi si pentru crearea pickup-ului) La:
- Citat :
- GivePlayerWeapon(playerid, 34, 50);
34 = id armei iar 50=gloantele
4. Acum creăm un pickup pentru a iesi mai bine in evidenta unde trebuie sa tastam /takeguns
Căutăm în GM (ctrl+F): "CreatePickup(etc. etc. etc.)" (fară "etc. etc. etc." )) si o dublăm înlocuind-o cu coordonatele noastre! Linia ar trebui să arate cam aşa:
- Citat :
- CreatePickup(1254, 23, 1123.8586,-2034.0748,69.8926);
Unde:
- Citat :
- 1254
= ID pickup-ului (pentru mai multe ID-uri vizitati:
- Citat :
- 23
= acest 23 apare de fiecare data dupa id-ul la pickup pentru a-l face vizibil atunci cand intri in el
- Citat :
- 1123.8586,-2034.0748,69.8926
= coordonatele unde trebuie sa apara pickp-ul (aceleasi ca si cele de unde putem tasta /takeguns)
Rezultat: Facţiunea ID 5 are acces la comanda /takeguns (armele primite variaza pe rank-ul membrului) pe care o poate folosi la coordonatele precizate mai sus unde se află şi un pickup.
Suplimentar: Puteţi adăuga pickp-ului si un 3dtextlabel, însă este mai complicat pentru incepători: Căutaţi (ctrl+F) "Create3dtextlabel" dar daca nu gasiti niciun rezultat adăugati sub toate "CreatePickup":
- Citat :
- Create3DTextLabel("{FF8C00}Tasteaza /takeguns pentru a-ti lua arme\nCost: 3.000$\n(doar membri LA COSA NOSTRA)",0xE60000FF,1123.8586,-2034.0748,69.8926,5,0,1);
- Citat :
- 0xE60000FF
= Culoarea textului Ce este intre ghilimele este textul care va apărea: /n
= se face un rand dedesubt
- Citat :
- 1123.8586,-2034.0748,69.8926
= Coordonatele unde sa apara textul (de preferat sa fie aceleasi unde este plasat pickupul)
- Citat :
- 5,0,1
= distanta, virtualworld, testLOS (acestea nu trebuiesc modificate la niciun 3dtextlabel)
Cam ăsta a fost tutorialul, dacă întâmpinaţi probleme nu ezitaţi să mă contactaţi! | |
|