ahhoz hogy ne tudjon parancsokat használni tudnom kéne milyen a parancs struktúrád (szal milyenek a a parancsaid) vannak stb. de írok egy alap fs-t hozzá (no meg ha a parancsaid más fs-ben/gm-ben vannak az problémás kisé)
Dupla hozzászólás automatikusan összefûzve. ( 2013. február 02. - 18:16:01 )
írtam egy kezdetleges /vw /vwexit-et de ezt javaslom majd copyzd bele a gm-edbe vagy ahola többi parancsod van és a tiltást azt a /vw elején lévõ if-es sor másolásával tudod megcsinálni, nem pwn fájlt töltök fel hanem sima code-sorba rakom fel ide ha valami gond van akkor majd írj
#include <a_samp>
new bool:vwon[MAX_PLAYERS];
enum vwPos {
Float:vwX,
Float:vwY,
Float:vwZ,
interior,
vw,
}
new vwenter[MAX_PLAYERS][vwPos];
public OnFilterScriptInit()
{
print(\"\\n--------------------------------------\");
print(\" Virtual wordöcske\");
print(\"--------------------------------------\\n\");
return 1;
}
public OnFilterScriptExit()
{
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
vwon[playerid] = false;
return 1;
}
public OnPlayerDeath(playerid, killerid, reason)
{
vwon[playerid] = false;
return 1;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp(\"/vw\", cmdtext, true, 10) == 0)
{
if(vwon[playerid]) return SendClientMessage(playerid,0xAA3333AA,\"Használtad a /vw parancsot használd a /vwexit-et hogy újra használhass parancsokat\");
GetPlayerPos(playerid,vwenter[playerid][vwX],vwenter[playerid][vwY],vwenter[playerid][vwZ]);
vwenter[playerid][interior] = GetPlayerInterior(playerid);
vwenter[playerid][vw] = GetPlayerVirtualWorld(playerid);
SetPlayerPos(playerid,1.0,2.0,3.0); // az 1.0 helyére az X koordináta megy, a 2.0 helyére az Y-on a 3.0 helyére a Z
SetPlayerVirtualWorld(playerid,100);
GivePlayerWeapon(playerid,28,100);//ezt másolgasd és a 28-at írd át arra amlyen fegyót akarsz adni neki a 100-at hogy mennyi tölténye legyen
vwon[playerid] = true;
return 1;
}
if (strcmp(\"/vwexit\", cmdtext, true, 10) == 0)
{
if(vwon[playerid]){
SetPlayerVirtualWorld(playerid,vwenter[playerid][vw]);
SetPlayerInterior(playerid,vwenter[playerid][interior]);
SetPlayerPos(playerid,vwenter[playerid][vwX],vwenter[playerid][vwY],vwenter[playerid][vwZ]); // az 1.0 helyére az X koordináta megy, a 2.0 helyére az Y-on a 3.0 helyére a Z
vwon[playerid] = false;
}
else
{
SendClientMessage(playerid,0xAA3333AA,\"Nem használtad a /vw parancsot hogy akarsz kilépni?\");
}
return 1;
}
return 0;
}
ahhoz hogy ne tudjon parancsokat használni tudnom kéne milyen a parancs struktúrád (szal milyenek a a parancsaid) vannak stb. de írok egy alap fs-t hozzá (no meg ha a parancsaid más fs-ben/gm-ben vannak az problémás kisé)
Dupla hozzászólás automatikusan összefûzve. ( 2013. február 02. - 18:16:01 )
írtam egy kezdetleges /vw /vwexit-et de ezt javaslom majd copyzd bele a gm-edbe vagy ahola többi parancsod van és a tiltást azt a /vw elején lévõ if-es sor másolásával tudod megcsinálni, nem pwn fájlt töltök fel hanem sima code-sorba rakom fel ide ha valami gond van akkor majd írj
#include <a_samp>
new bool:vwon[MAX_PLAYERS];
enum vwPos {
Float:vwX,
Float:vwY,
Float:vwZ,
interior,
vw,
}
new vwenter[MAX_PLAYERS][vwPos];
public OnFilterScriptInit()
{
print(\"\\n--------------------------------------\");
print(\" Virtual wordöcske\");
print(\"--------------------------------------\\n\");
return 1;
}
public OnFilterScriptExit()
{
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
vwon[playerid] = false;
return 1;
}
public OnPlayerDeath(playerid, killerid, reason)
{
vwon[playerid] = false;
return 1;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp(\"/vw\", cmdtext, true, 10) == 0)
{
if(vwon[playerid]) return SendClientMessage(playerid,0xAA3333AA,\"Használtad a /vw parancsot használd a /vwexit-et hogy újra használhass parancsokat\");
GetPlayerPos(playerid,vwenter[playerid][vwX],vwenter[playerid][vwY],vwenter[playerid][vwZ]);
vwenter[playerid][interior] = GetPlayerInterior(playerid);
vwenter[playerid][vw] = GetPlayerVirtualWorld(playerid);
SetPlayerPos(playerid,1.0,2.0,3.0); // az 1.0 helyére az X koordináta megy, a 2.0 helyére az Y-on a 3.0 helyére a Z
SetPlayerVirtualWorld(playerid,100);
GivePlayerWeapon(playerid,28,100);//ezt másolgasd és a 28-at írd át arra amlyen fegyót akarsz adni neki a 100-at hogy mennyi tölténye legyen
vwon[playerid] = true;
return 1;
}
if (strcmp(\"/vwexit\", cmdtext, true, 10) == 0)
{
if(vwon[playerid]){
SetPlayerVirtualWorld(playerid,vwenter[playerid][vw]);
SetPlayerInterior(playerid,vwenter[playerid][interior]);
SetPlayerPos(playerid,vwenter[playerid][vwX],vwenter[playerid][vwY],vwenter[playerid][vwZ]); // az 1.0 helyére az X koordináta megy, a 2.0 helyére az Y-on a 3.0 helyére a Z
vwon[playerid] = false;
}
else
{
SendClientMessage(playerid,0xAA3333AA,\"Nem használtad a /vw parancsot hogy akarsz kilépni?\");
}
return 1;
}
return 0;
}
Ezt sokkal egyszerûbben meglehet csinálni ennek a használatával:http://sampforum.hu/index.php?topic=37681
Direkt ezért találtam ki, hogy ilyeneket megkönnyíthessük