GTA.cz

SA:MP - Pawno - [TUT] Povolania Viktor Tomaš Paulík | 22.08.2008

Takže veľa ľudí sa pýta, ako urobiť povolania. Ja tu pre vás mám návod. Nieje to cez CP čo sa tiež dá, ale radím vám skôr tento spôsob, pretože CP spôsobujú na servery lagy.
 
Po prvé: Nadefinujeme povolanie
new povolanie[MAX_PLAYERS];
 
Ďalej musíme dať do publicu OnPlayerConnect
povolanie[playerid] = 0;
 
Samozrejme ak máte registráciu povolanie sa uloží. Ale ak nie, vždy keď sa pripojíte znovu budete nezamestnaný...
 
Do publicu OnPlayerCommandText si dáme samotný príkaz na povolanie
if(strcmp("/taxikar", cmdtext, true) == 0) {  -Príkaz
if(IsPlayerInSphere(playerid,205.9575,-229.6653,1.7786,5) == 1) {  -IsPlayerInSphere. Veľmi dôležite. Namiesto súradníc si dajte vaše. To 5 je radius čiže dosah.
new pname[MAX_PLAYER_NAME];
GetPlayerName(playerid, pname, MAX_PLAYER_NAME);
format(string, sizeof(string), " %s sa stal taxikárom!!", pname);
SendClientMessageToAll(COLOR_RED, string);
printf(string);
povolanie[playerid] = 1;  -nastaví povolanie 1. Pri iných povolaniach to bude 2,3,4...
SetSpawnInfo(playerid,1,71,203.9847,-236.9536,1.6733,178.2899,0,0,0,0,0,0); -Tu sa bude hráč spawnovať
SetPlayerInterior(playerid,0); -Nastaví interiér 0 čo je vonku. Interiéri budov zistíte priamo v hre príkazom /interior
SpawnPlayer(playerid); -Spawne hráča
}
return 1;
}
 
Ďalej si musíme nadefinovať IsPlayerInSphere takže hocikde si dajte
 
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)); (tento riadok patrí k tomu hore, lenže pre šírku stránky sme ho museli oddeliť, vy si ho spojte)
   return floatround(tmpdis);
}
 
Ďalej niečo nepotrebné, ale ak chcete, hodí sa to. Pickup. Takže napr takto:
new taxipickup;
 
Do OnGameModeInit si dajte
taxipickup = CreatePickup(1239,1,205.9575,-229.6653,1.7786);
 
No a naposledy do publicu OnPlayerPickUpPickup
 
if(pickupid == taxipickup)
   {
GameTextForPlayer(playerid,"~r~Ak sa chces stat taxikarom napis ~g~/taxikar",3000,5);
   }
 
Hádam to pochopíte. Ak niečo nechápete napíšte na icq 479-541-027.
By Homer

vyhledávání

reklama

editorial

Leaky nám již nějakou předběžnou podobu Grand Theft Auto 6 ukázaly. Musíme však ještě chvíli vydržet, než se dočkáme oficiálního představení v plné parádě. Jistě je, ale to, že se hra konečně blíží! V druhém pololetí 2023 bych očekával alespoň odhalení loga, či alespoň nějaké malé oficiální naťuknutí. Leaky totiž pochází z ranných fází vývoje hry a ta může být již na úplně jiné úrovni. Možná, že už není čím hráče překvapit, možná ale bude GTA 6 zas pořádný gamechanger. Těšíte se také? :)

Šéfredaktor

návštěvnost

odkazy

naše ikona

GTA.cz

partneři


Online hokej manažer - Zahraj si skutečný hokejový manažer!
3D wide HD wallpapers tapety na plochu

Vyťukej.cz

Zobrazit vše

Zahrajte si hry online hned teď!

© 2005 - 2024  Honza Svatoš & Scorpions.cz | XHTML & CSS:  Ondřej Mirtes | Design:  Paľo Delinčák | Ochrana osobních údajů | Nastavení cookies