Szerző Téma: Rendõr parancsok.  (Megtekintve 747 alkalommal)

Rendõr parancsok.
« Dátum: 2013. augusztus 23. - 18:52:30 »
0 Show voters
Sziasztok!
Ma unalomból (kezdõként) belekezdtem egy egyszerû néhány parancsos scriptbe, és valamiért a /visz parancscsal vannak problémáim.
Szeretnék valami \"bugfix\" megoldást kérni.Köszi.
 
#include <a_samp>
#include <zcmd>
#include <sscanf2>
enum munka
{
rendor,
bilincsbe
};
new id;
new admins[MAX_PLAYERS][munka];
new visztimer;
new str[128];
new nev[MAX_PLAYER_NAME];
new neve[MAX_PLAYER_NAME];
CMD:bilincsel(playerid, params[])
{
if(admins[playerid][rendor] !=1) return SendClientMessage(playerid,-1,\"Nem vagy rendõr\");
{
if(sscanf(params, \"u\", id)) return SendClientMessage(playerid,-1, \"Használhat: /bilincsel <id>\");
if(id == INVALID_PLAYER_ID)  return SendClientMessage(playerid, -1, \"Rossz Játékos ID!\");
if(id == playerid)  return SendClientMessage(playerid, -1, \"Ne akard saját magad megbilincselni!\");
TogglePlayerControllable(id,0);
SetPlayerSpecialAction(id, SPECIAL_ACTION_CUFFED);
SetPlayerAttachedObject(id, 0, 19418, 6, -0.011000, 0.028000, -0.022000, -15.600012, -33.699977, -81.700035, 0.891999, 1.000000, 1.168000);
SendClientMessage(id,-1,\"Egy rendõr megbilincsel\");
SendClientMessage(playerid,-1,\"Megbilincseltél valakit\");
admins[id][bilincsbe] = 1;
}
return 1;
}
CMD:elenged(playerid, params[])
{
if(admins[playerid][rendor] !=1) return SendClientMessage(playerid,-1,\"Nem vagy rendõr\");
{
if(sscanf(params, \"u\", id)) return SendClientMessage(playerid,-1, \"Használhat: /elenged <id>\");
if(id == INVALID_PLAYER_ID)  return SendClientMessage(playerid, -1, \"Rossz Játékos ID!\");
if(id == playerid)  return SendClientMessage(playerid, -1, \"Ne akard saját magad elengedni!\");
TogglePlayerControllable(id,1);
SetPlayerSpecialAction(id, SPECIAL_ACTION_NONE);
RemovePlayerAttachedObject(id, 0);
SendClientMessage(id,-1,\"Elengedtek\");
SendClientMessage(playerid,-1,\"Elengedtél valakit\");
KillTimer(visztimer);
admins[id][bilincsbe] = 0;
}
return 1;
}
CMD:visz(playerid, params[])
{
    new Float:x,
Float:y,
Float:z;
    if(admins[playerid][rendor] !=1) return SendClientMessage(playerid,-1,\"Nem vagy rendõr!\");
    {
    if(admins[id][bilincsbe] !=1) return SendClientMessage(playerid,-1,\"Nincs bilincsben!\");
{
if(sscanf(params, \"u\", id)) return SendClientMessage(playerid,-1, \"Használhat: /visz <id>\");
{
if(id == INVALID_PLAYER_ID)  return SendClientMessage(playerid, -1, \"Rossz Játékos ID!\");
if(id == playerid)  return SendClientMessage(playerid, -1, \"Ne akard saját magad vinni!\");
visztimer = SetTimer(\"viszve\", 1000, false);
GetPlayerPos(playerid,x,y,z);
SetPlayerPos(id,x+2,y,z);
}
}
}
return 1;
}
CMD:rendorad(playerid, params [])
{
if(IsPlayerAdmin(playerid))
{
if(sscanf(params, \"u\", id)) return SendClientMessage(playerid,-1, \"Használhat: /rendorad <id>\");
if(id == INVALID_PLAYER_ID)  return SendClientMessage(playerid, -1, \"Rossz Játékos ID!\");
admins[id][rendor] = 1;
GetPlayerName(id, nev, sizeof(nev));
GetPlayerName(playerid, neve, sizeof(neve));
format(str, sizeof(str), \"Kinevezett %s rendõrnek.\",neve);
SendClientMessage(id,-1,str);
format(str, sizeof(str), \"Kinevezted %s rendõrnek.\",nev);
SendClientMessage(playerid,-1,str);
}
return 1;
}
CMD:rendorel(playerid, params [])
{
if(IsPlayerAdmin(playerid))
{
if(sscanf(params, \"u\", id)) return SendClientMessage(playerid,-1, \"Használhat: /rendorel <id>\");
if(id == INVALID_PLAYER_ID)  return SendClientMessage(playerid, -1, \"Rossz Játékos ID!\");
admins[id][rendor] = 0;
GetPlayerName(id, nev, sizeof(nev));
GetPlayerName(playerid, neve, sizeof(neve));
format(str, sizeof(str), \"%s kirúgott a rendõrségtõl.\",neve);
SendClientMessage(id,-1,str);
format(str, sizeof(str), \"%s-t kirúgtad a rendõrségtõl.\",nev);
SendClientMessage(playerid,-1,str);
}
return 1;
}
forward viszve(playerid);
public viszve(playerid)
{
    new Float:x,
Float:y,
Float:z;
visztimer = SetTimer(\"viszve\", 1000, false);
GetPlayerPos(playerid,x,y,z);
SetPlayerPos(id,x+2,y,z);
return 1;
}

Rendõr parancsok.
« Válasz #1 Dátum: 2013. augusztus 23. - 19:57:56 »
0 Show voters
pontosan mi a hiba? Látom ott a setplayer pos de azt egy timer el kéne hogy adott idõ közönként dobálja maga mögé és ott csak 1x van a setplayerpos lehet ez a hiba

Rendõr parancsok.
« Válasz #2 Dátum: 2013. augusztus 23. - 20:08:21 »
0 Show voters
pontosan az a hiba, hogy ha én viszem a teszteelõm akkor minden jól megy, de ha õ visz engem akkor nem utána megy hanem az én pozíciómra ad +2-t Z kordit.

Dupla hozzászólás automatikusan összefûzve. ( 2013. augusztus 23. - 23:25:36 )

megoldódott zárom puszi
« Utoljára szerkesztve: 2013. augusztus 23. - 23:25:36 írta TheChansee »

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal