Szerző Téma: VISZ Parancs.  (Megtekintve 871 alkalommal)

VISZ Parancs.
« Dátum: 2013. November 07. - 20:59:28 »
0
Valaki megtudná nekem irn a visz parancsot?
Ugy hogy 3 másodpercenként odatelézi hozzá és ha még 1x beírja akkor elengedje. És ha a vonszoló kocsiba száll akkor a vonszolt ember meg a 4-ik helyen ül?
 
if(pInfo[playerid][pFrakcio] == RFONOK || pInfo[playerid][pFrakcio] == RENDOR)

 
Köszönöm

Nem elérhető gyuri98

  • 153
  • gyuri98
    • Profil megtekintése
VISZ Parancs.
« Válasz #1 Dátum: 2013. November 09. - 19:56:30 »
0
Ez a játékos autoba rakása:
http://sampforum.hu/index.php?topic=15542.0
Vonszol parancs Zeteni rendör systemébõl:
 
CMD:vonszol(playerid, params[])
{
if(gTeam[playerid] == rendor)
{
if( GetPVarInt( playerid, \" vonszol \" ) == 0 )
{
new Float: xecsek, Float: yecsek,Float: zecsek;
new emberecske;
if(sscanf(params, \"u\",emberecske)) return SendClientMessage(playerid, COLOR_GREEN, \"Használat: /vonszol ID/Név\");
if(playerid == emberecske) return SendClientMessage(playerid, COLOR_GREEN, \"Magadat nem vonszolhatod!\");
if(emberecske == INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_GREEN, \"Rossz ID/Név!\");
if( GetPVarInt( emberecske, \" Bilincselve \" ) == 1 ) return SendClientMessage(playerid, COLOR_GREEN, \"A játékos nincs megbilincselve!\");
SetPVarInt(playerid, \"vonszol\", 1);
GetPlayerPos(playerid, xecsek, yecsek, zecsek);
if(!IsPlayerInRangeOfPoint(emberecske, 5.0, xecsek, yecsek, zecsek)) return SendClientMessage(playerid, COLOR_ORANGE, \"Nincs a megadott játékos a közeledben!\");
SetTimerEx(\"vonszolas\", 1000, 1, \"dd\", playerid,emberecske);
TogglePlayerControllable(emberecske,0);
}
else SendClientMessage(playerid, COLOR_GREEN, \"Te már vonszolsz valakit!\");
}
else SendClientMessage(playerid, COLOR_LIME, \"Nem vagy rendõr!\");
return 1;
}
CMD:elenged(playerid, params[])
{
if(gTeam[playerid] == rendor)
{
new ID;
new Float: q, Float: w, Float: e;
if( GetPVarInt( playerid, \" vonszol \" ) == 1 ) return SendClientMessage(playerid, COLOR_GREEN, \"Nem vonszolsz senkit!\");
GetPlayerPos(playerid, q, w, e);
if(!IsPlayerInRangeOfPoint(ID, 5.0, q, w, e)) return SendClientMessage(playerid, COLOR_ORANGE, \"Nincs a megadott játékos a közeledben!\");
if(sscanf(params, \"u\", ID)) return SendClientMessage(playerid, COLOR_GREEN, \"Használat: /elenged ID/Név\");
if(playerid == ID) return SendClientMessage(playerid, COLOR_GREEN, \"Magadat nem engedheted el!\");
if(ID == INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_GREEN, \"Rossz ID/Név\");
KillTimer(1);
TogglePlayerControllable(ID,1);
}
else SendClientMessage(playerid, COLOR_ORANGE, \"Nem vagy rendõr!\");
return 1;
}
forward vonszolas(playerid, emberecske);
public vonszolas(playerid, emberecske)
{
               new Float:dX, Float:dY, Float:dZ;
       GetPlayerPos(playerid, dX, dY, dZ);
       SetPlayerPos(emberecske, dX+1, dY, dZ);
return 1;
}

 
Bocsi ebben a vonszolásos parancsba már nem igazán tudok segíteni :S
« Utoljára szerkesztve: 2013. November 09. - 20:02:23 írta gyuri98 »

VISZ Parancs.
« Válasz #2 Dátum: 2013. November 10. - 01:14:11 »
0
Én a vonszolást úgy csináltam, hogy a játékosnak 2 tárolót adtam.
Hogy vonszolo << a vonszoló játékos id-jét tárolja
vonszolva << egy egy bool, hogy vonszolás alatt áll-e az illetõ
és on player update alatt lekérem a vonszoló pozícióját és beállítom a vonszolt ember helyzetét

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal