Szerző Téma: /goto id  (Megtekintve 1674 alkalommal)

.]$[.ZeRoX.]$[.

  • Vendég
/goto id
« Dátum: 2012. február 08. - 17:56:45 »
0 Show voters
hello all szeretnék kérni egy /goto parancsot amit a playerek is hazsnálhatnak és le lehet tiltani ha pedig valaki elteleportál kiirja h xy Oda teleportált yx-hez
elõre is köszi
By .]$[.ZeRoX.]$[.

Nem elérhető CANNONN

  • 2139
    • Profil megtekintése
/goto id
« Válasz #1 Dátum: 2012. február 08. - 20:26:07 »
0 Show voters
Szia!Gyorsan összedobtam neked!! Elvileg mûködik, nem teszteltem! A változókkal lehet gond lessz! Akkor szólj!
A parancs zcmdben van!
 

CMD:goto(playerid, params[])
{
new giveplayerid;
new Float:x, Float:y, Float:z;
if(sscanf(params, \"u\", giveplayerid)) return SendClientMessage(playerid, 0xFF0000AA, \"Használat: /goto [playerid]\");
if(giveplayerid == INVALID_PLAYER_ID) return SendClientMessage(playerid, 0xFF0000AA, \"Hiba: Nincs ilyen játékos!\");
GetPlayerPos(giveplayerid, x, y, z);
SetPlayerPos(playerid, x, y, z);
        SetPlayerInterior(playerid, GetPlayerInterior(giveplayerid));
new name[MAX_PLAYER_NAME], string[200];
GetPlayerName(playerid, name, sizeof(name));
format(string, sizeof string, \"%s elteleportált hozzá: %s\", name, giveplayerid);
SendClientMessageToAll(0xFF0000AA,string);
return 1;
}

 
SetPlayerInteriort lehagytam bõvítettem!
Elvileg kész! ha mégsem jó írj!
« Utoljára szerkesztve: 2012. február 09. - 13:59:34 írta Cannonn »

Nem elérhető Flash

  • 5726
  • (っ◕‿◕)っ
    • Profil megtekintése
/goto id
« Válasz #2 Dátum: 2012. február 08. - 21:57:39 »
0 Show voters
Szerintem a SetPlayerPos(playerid, x, y, z); azt így:
SetPlayerPos(playerid, x+3, y, z);

Nem elérhető CANNONN

  • 2139
    • Profil megtekintése
/goto id
« Válasz #3 Dátum: 2012. február 08. - 22:08:43 »
0 Show voters
Idézetet írta: Flash date=1328734659\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"16763\" data-ipsquote-contentclass=\"forums_Topic
Szerintem a SetPlayerPos(playerid, x, y, z); azt így:
SetPlayerPos(playerid, x+3, y, z);
 
Szerintem fölösleges az x tengelyhez hozzáadni 3at, mivel a játékosok elvileg mozognak, ezért nem rakja egymásra õket, de ha igen akkor is szétkapja õket!
De majd a kérdezõ eldönti hogy szeretné  ;)

Nem elérhető Flash

  • 5726
  • (っ◕‿◕)っ
    • Profil megtekintése
/goto id
« Válasz #4 Dátum: 2012. február 09. - 06:42:57 »
0 Show voters
Oké.
De most nézem, hogy egy sort kihagyál a goto-ból!
 
GetPlayerName(playerid, giveplayerid, sizeof(giveplayerid));

Nem elérhető CANNONN

  • 2139
    • Profil megtekintése
/goto id
« Válasz #5 Dátum: 2012. február 09. - 07:27:41 »
0 Show voters
Idézetet írta: Flash date=1328766177\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"16763\" data-ipsquote-contentclass=\"forums_Topic
Oké.
De most nézem, hogy egy sort kihagyál a goto-ból!
 
GetPlayerName(playerid, giveplayerid, sizeof(giveplayerid));

 

Azt nem kihagytam! Csak gondolkoztam rajta, hogy így is kiírja e a nevét, vagy nem, de akkor ezek szerint nem írja ki.
Délután tesztelem a scriptet! ;)

.]$[.ZeRoX.]$[.

  • Vendég
/goto id
« Válasz #6 Dátum: 2012. február 09. - 07:32:47 »
0 Show voters
nem ZCMD-be hanem if(strcmp-be kell

Nem elérhető Gabor..

  • 1883
  • Gabor..
    • Profil megtekintése
/goto id
« Válasz #7 Dátum: 2012. február 09. - 14:10:33 »
0 Show voters
CMD:goto(playerid,params[])
{
new celid, string[128], Float:hely[3], nev[MAX_PLAYER_NAME][2];
if(sscanf(params, \"u\", celid)) return SendClientMessage(playerid, COLOR_LIGHTBLUE, \"HASZNÁLAT: /goto (játékosid/név)\");
else if(!IsPlayerConnected(celid) && celid == INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_RED, \"HIBA: Nincs ilyen játékos a szerveren, vagy az adott játékos te vagy!\");
GetPlayerPos(celid, hely[0], hely[1], hely[2]); SetPlayerInterior(playerid, GetPlayerInterior(celid));
SetPlayerVirtualWorld(playerid, GetPlayerVirtualWorld(celid));
if(GetPVarInt(celid, \"goto\") == 1)
{
if(GetPlayerState(playerid) == 2)
{
    SetVehiclePos(GetPlayerVehicleID(playerid),hely[0]+2, hely[1], hely[2]); LinkVehicleToInterior(GetPlayerVehicleID(playerid), GetPlayerInterior(celid));
    SetVehicleVirtualWorld(GetPlayerVehicleID(playerid), GetPlayerVirtualWorld(celid)); GetPlayerName(playerid, nev[0], sizeof(nev)); GetPlayerName(celid, nev[1], sizeof(nev));
    format(string,sizeof(string),\"%s elteleportált hozzád!\", nev[0]); SendClientMessage(celid, COLOR_LIGHTBLUE, string);
            format(string,sizeof(string),\"Elteleportáltál %s-hez(hoz)!\", nev[1]); SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
    return 1;
}else{
    SetPlayerPos(playerid, hely[0], hely[1], hely[2]); SetPlayerVirtualWorld(playerid, GetPlayerVirtualWorld(celid)); SetPlayerInterior(playerid, GetPlayerInterior(celid));
}
}else{
    format(string,sizeof(string),\"%s letiltotta a gotozást!\", nev[1]);
    SendClientMessage(playerid, COLOR_RED, string);
}
return 1;
}
CMD:setgoto(playerid, params[])
{
if(GetPVarInt(playerid, \"goto\") == 0) {
    SetPVarInt(playerid, \"goto\", 1);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, \"Engedélyezted a gotozást magadhoz!\");
}else{
    SetPVarInt(playerid, \"goto\", 0);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, \"Letiltottad a gotozást magadhoz!\");
}
return 1;
}

 Itt csak annyi a dolgod, hogy a CMD:goto(playerid, params[])-ot átírod strcmp-re, ahogy akarod!
« Utoljára szerkesztve: 2012. február 09. - 14:12:05 írta Gabor.. »

.]$[.ZeRoX.]$[.

  • Vendég
/goto id
« Válasz #8 Dátum: 2012. február 09. - 14:34:43 »
0 Show voters
ez jo csak pls ifscrmpt-be

Nem elérhető Flash

  • 5726
  • (っ◕‿◕)っ
    • Profil megtekintése
/goto id
« Válasz #9 Dátum: 2012. február 09. - 15:31:03 »
0 Show voters
    if(strcmp(cmdtext, \"/goto\", true) == 0)
    {
new celid, string[128], Float:hely[3], nev[MAX_PLAYER_NAME][2];
if(!strlen(params)) return SendClientMessage(playerid, COLOR_LIGHTBLUE, \"HASZNÁLAT: /goto (játékosid/név)\");
else if(!IsPlayerConnected(celid) && celid == INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_RED, \"HIBA: Nincs ilyen játékos a szerveren, vagy az adott játékos te vagy!\");
GetPlayerPos(celid, hely[0], hely[1], hely[2]); SetPlayerInterior(playerid, GetPlayerInterior(celid));
SetPlayerVirtualWorld(playerid, GetPlayerVirtualWorld(celid));
if(GetPVarInt(celid, \"goto\") == 1)
{
if(GetPlayerState(playerid) == 2)
{
    SetVehiclePos(GetPlayerVehicleID(playerid),hely[0]+2, hely[1], hely[2]); LinkVehicleToInterior(GetPlayerVehicleID(playerid), GetPlayerInterior(celid));
    SetVehicleVirtualWorld(GetPlayerVehicleID(playerid), GetPlayerVirtualWorld(celid)); GetPlayerName(playerid, nev[0], sizeof(nev)); GetPlayerName(celid, nev[1], sizeof(nev));
    format(string,sizeof(string),\"%s elteleportált hozzád!\", nev[0]); SendClientMessage(celid, COLOR_LIGHTBLUE, string);
            format(string,sizeof(string),\"Elteleportáltál %s-hez(hoz)!\", nev[1]); SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
    return 1;
}else{
    SetPlayerPos(playerid, hely[0], hely[1], hely[2]); SetPlayerVirtualWorld(playerid, GetPlayerVirtualWorld(celid)); SetPlayerInterior(playerid, GetPlayerInterior(celid));
}
}else{
    format(string,sizeof(string),\"%s letiltotta a gotozást!\", nev[1]);
    SendClientMessage(playerid, COLOR_RED, string);
}
return 1;
}
    if(strcmp(cmdtext, \"/setgoto\", true) == 0)
    {
if(GetPVarInt(playerid, \"goto\") == 0) {
    SetPVarInt(playerid, \"goto\", 1);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, \"Engedélyezted a gotozást magadhoz!\");
}else{
    SetPVarInt(playerid, \"goto\", 0);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, \"Letiltottad a gotozást magadhoz!\");
}
return 1;
}

Nem elérhető Gabor..

  • 1883
  • Gabor..
    • Profil megtekintése
/goto id
« Válasz #10 Dátum: 2012. február 09. - 16:55:02 »
0 Show voters
Csak annyi lett volna a dolgot, hogy átírod a CMD:goto(playerid, params[]) -t if(strcmp(cmdtext, \"/goto\", true) == 0) -ra :D

Nem elérhető DrAkE

  • 2078
    • Profil megtekintése
/goto id
« Válasz #11 Dátum: 2012. február 09. - 17:08:21 »
0 Show voters
Idézetet írta: Flash date=1328797863\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"16763\" data-ipsquote-contentclass=\"forums_Topic

    if(strcmp(cmdtext, \"/goto\", true) == 0)
    {
new celid, string[128], Float:hely[3], nev[MAX_PLAYER_NAME][2];
if(!strlen(params)) return SendClientMessage(playerid, COLOR_LIGHTBLUE, \"HASZNÁLAT: /goto (játékosid/név)\");
else if(!IsPlayerConnected(celid) && celid == INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_RED, \"HIBA: Nincs ilyen játékos a szerveren, vagy az adott játékos te vagy!\");
GetPlayerPos(celid, hely[0], hely[1], hely[2]); SetPlayerInterior(playerid, GetPlayerInterior(celid));
SetPlayerVirtualWorld(playerid, GetPlayerVirtualWorld(celid));
if(GetPVarInt(celid, \"goto\") == 1)
{
if(GetPlayerState(playerid) == 2)
{
    SetVehiclePos(GetPlayerVehicleID(playerid),hely[0]+2, hely[1], hely[2]); LinkVehicleToInterior(GetPlayerVehicleID(playerid), GetPlayerInterior(celid));
    SetVehicleVirtualWorld(GetPlayerVehicleID(playerid), GetPlayerVirtualWorld(celid)); GetPlayerName(playerid, nev[0], sizeof(nev)); GetPlayerName(celid, nev[1], sizeof(nev));
    format(string,sizeof(string),\"%s elteleportált hozzád!\", nev[0]); SendClientMessage(celid, COLOR_LIGHTBLUE, string);
            format(string,sizeof(string),\"Elteleportáltál %s-hez(hoz)!\", nev[1]); SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
    return 1;
}else{
    SetPlayerPos(playerid, hely[0], hely[1], hely[2]); SetPlayerVirtualWorld(playerid, GetPlayerVirtualWorld(celid)); SetPlayerInterior(playerid, GetPlayerInterior(celid));
}
}else{
    format(string,sizeof(string),\"%s letiltotta a gotozást!\", nev[1]);
    SendClientMessage(playerid, COLOR_RED, string);
}
return 1;
}
    if(strcmp(cmdtext, \"/setgoto\", true) == 0)
    {
if(GetPVarInt(playerid, \"goto\") == 0) {
    SetPVarInt(playerid, \"goto\", 1);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, \"Engedélyezted a gotozást magadhoz!\");
}else{
    SetPVarInt(playerid, \"goto\", 0);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, \"Letiltottad a gotozást magadhoz!\");
}
return 1;
}

 


Csak annyi lett volna a dolgot, hogy átírod a CMD:goto(playerid, params[]) -t if(strcmp(cmdtext, \"/goto\", true) == 0) -ra :D
 
[/quote]
Ha nem értettek hozzá, akkor minek írtok hülyeséget?
U.I.: Mindjárt leírom!
 

GetCommandParams(cmdtext);
if(!strcmp(cmdtext, \"/goto\", true))
{
new celid, string[128], Float:hely[3], nev[MAX_PLAYER_NAME][2];
if(isnull(par)) return SendClientMessage(playerid, COLOR_LIGHTBLUE, \"HASZNÁLAT: /goto (játékosid/név)\");
else if(!IsPlayerConnected(celid) && celid == INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_RED, \"HIBA: Nincs ilyen játékos a szerveren, vagy az adott játékos te vagy!\");
GetPlayerPos(celid, hely[0], hely[1], hely[2]); SetPlayerInterior(playerid, GetPlayerInterior(celid));
SetPlayerVirtualWorld(playerid, GetPlayerVirtualWorld(celid));
if(GetPVarInt(celid, \"goto\") == 1)
{
   if(GetPlayerState(playerid) == 2)
   {
      SetVehiclePos(GetPlayerVehicleID(playerid),hely[0]+2, hely[1], hely[2]);                                                                                  LinkVehicleToInterior(GetPlayerVehicleID(playerid), GetPlayerInterior(celid));
      SetVehicleVirtualWorld(GetPlayerVehicleID(playerid), GetPlayerVirtualWorld(celid)); GetPlayerName(playerid, nev[0], sizeof(nev)); GetPlayerName(celid, nev[1], sizeof(nev));
      format(string,sizeof(string),\"%s elteleportált hozzád!\", nev[0]); SendClientMessage(celid, COLOR_LIGHTBLUE, string);
      format(string,sizeof(string),\"Elteleportáltál %s-hez(hoz)!\", nev[1]); SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
      return 1;
   }else{
      SetPlayerPos(playerid, hely[0], hely[1], hely[2]); SetPlayerVirtualWorld(playerid, GetPlayerVirtualWorld(celid)); SetPlayerInterior(playerid, GetPlayerInterior(celid));
   }
}else{
    format(string,sizeof(string),\"%s letiltotta a gotozást!\", nev[1]);
    SendClientMessage(playerid, COLOR_RED, string);
}
return 1;
}
if(!strcmp(cmdtext, \"/setgoto\", true))
{
if(GetPVarInt(playerid, \"goto\") == 0)
{
   SetPVarInt(playerid, \"goto\", 1);
   SendClientMessage(playerid, COLOR_LIGHTBLUE, \"Engedélyezted a gotozást magadhoz!\");
}else{
   SetPVarInt(playerid, \"goto\", 0);
   SendClientMessage(playerid, COLOR_LIGHTBLUE, \"Letiltottad a gotozást magadhoz!\");
}
return 1;
}

 
A parancs mûködéséhez az alábbi include is szükséges!
http://sampforum.hu/index.php?topic=20289.msg217336;topicseen#msg217336
« Utoljára szerkesztve: 2012. február 09. - 17:15:43 írta DrAkE »

.]$[.ZeRoX.]$[.

  • Vendég
/goto id
« Válasz #12 Dátum: 2012. február 09. - 17:18:26 »
0 Show voters
ok köszi és zcmd-s is lehet mert átirtam azota a modom ZCDM-re mert azt mondta haver az jobb :D

Nem elérhető Gabor..

  • 1883
  • Gabor..
    • Profil megtekintése
/goto id
« Válasz #13 Dátum: 2012. február 09. - 19:46:11 »
0 Show voters
De nekem úgy, ahogy leírtam tökéletesen mûködik

Nem elérhető CANNONN

  • 2139
    • Profil megtekintése
/goto id
« Válasz #14 Dátum: 2012. február 10. - 17:11:21 »
0 Show voters
Már egyszer leírtam zcmdben ;)
 
Idézetet írta: Cannonn date=1328729167\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"16763\" data-ipsquote-contentclass=\"forums_Topic
Szia!Gyorsan összedobtam neked!! Elvileg mûködik, nem teszteltem! A változókkal lehet gond lessz! Akkor szólj!
A parancs zcmdben van!
 

CMD:goto(playerid, params[])
{
new giveplayerid;
new Float:x, Float:y, Float:z;
if(sscanf(params, \"u\", giveplayerid)) return SendClientMessage(playerid, 0xFF0000AA, \"Használat: /goto [playerid]\");
if(giveplayerid == INVALID_PLAYER_ID) return SendClientMessage(playerid, 0xFF0000AA, \"Hiba: Nincs ilyen játékos!\");
GetPlayerPos(giveplayerid, x, y, z);
SetPlayerPos(playerid, x, y, z);
        SetPlayerInterior(playerid, GetPlayerInterior(giveplayerid));
new name[MAX_PLAYER_NAME], string[200];
GetPlayerName(playerid, name, sizeof(name));
format(string, sizeof string, \"%s elteleportált hozzá: %s\", name, giveplayerid);
SendClientMessageToAll(0xFF0000AA,string);
return 1;
}

 
SetPlayerInteriort lehagytam bõvítettem!
Elvileg kész! ha mégsem jó írj!
 

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal