-
Sziasztok! Készítettem a szerveremre egy rövid kis admin goto rendszert ami a TAB megnyomásával és a playerre való dupla kttintással mûködik, és szeretném veletek is megosztani
Készítõ: Én
Készítési idõ: 1-2 perc
#include <a_samp>
#include <colors> //Ha nincs color includeod akkor definiálnod kell a COLOR_YELLOW-t!
public OnPlayerClickPlayer(playerid, clickedplayerid, source)
{
if(!IsPlayerAdmin(playerid))
{
SendClientMessage(playerid, COLOR_RED, \"Nincs jogod gotozni!\")
return 1;
}
new name[MAX_PLAYER_NAME+1], string[24+MAX_PLAYER_NAME+1];
new Float:x, Float:y, Float:z;
GetPlayerPos(clickedplayerid, x, y, z);
SetPlayerPos(playerid, x +3, y +3 , z +3)
GetPlayerName(playerid, name, sizeof(name));
format(string, sizeof(string), \"Admin %s elteleportált hozzád!\", name);
SendClientMessage(clickedplayerid, COLOR_YELLOW, string)
return 1;
}
-
format(string, sizeof(string), \"Admin %s elteleportált hozzád!\", name);
SendClientMessage(playerid, COLOR_YELLOW, string)
Ezzel annyi lesz a probléma, hogy neked fogja kiírni nem az adott játékosnak akihez teleportáltál. Azért lehetett volna a kódon még egyszerûsíteni mert elég hosszú így is de azért jó kód.
-
Fú köszi erre nem is figyeltem. Javítva. Amúgy alapból kb 5 soros(include nélkül) volt csak kibõvítettem
-
[pawn]
if(!IsPlayerAdmin(playerid))
{
SendClientMessage(playerid, COLOR_RED, \"Nincs jogod gotozni!\")
return 1;
}
[/pawn]
Ezt lehetne egy sorba is:
[pawn]
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, COLOR_RED, \"Nincs jogod gotozni!\")
[/pawn]
Persze nem hiba csak így spórolsz a sorokkal.
-
Stílusfüggõ, ki hogy rakja.
Sorokkal soha nem kell spórolni, a scriptnek hatékonynak és átláthatónak kell lenni.
-
Ezt nem igazán lehet megoldani 5 sorban, csak maga az eljárás és a nyitások - csukások annyi.
Még ha nagyon összesûríted is:
public OnPlayerClickPlayer(playerid, clickedplayerid, source) {
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, COLOR_RED, \"Nincs jogod gotozni!\");
new name[MAX_PLAYER_NAME], string[25+MAX_PLAYER_NAME],Float:pos[3];
GetPlayerPos(clickedplayerid, pos[0],pos[1],pos[2]); SetPlayerPos(playerid,pos[0]+3,pos[1]+3,pos[2]+3)
GetPlayerName(playerid, name, sizeof(name)); format(string, sizeof(string), \"Admin %s elteleportált hozzád!\", name);
SendClientMessage(clickedplayerid, COLOR_YELLOW, string); return 1;
}
De ez így hányinger.
(Arról nem beszélve, hogy rengeteg helyrõl hiányzik a \";\" ..)
-
Úgy bizony. Hibás a kód, de amit szeretnék hozzáfûzni, az az, hogy tényleg te kell átlásd a szkriptedet és aszerint írd a soraidat.
-
Hmm... Hasznos lehet, mivel nem kell parancsokat beírogatni, hanem egy kattintás és kész :D Jó ötlet :thumbsup:
-
Sziasztok! Készítettem a szerveremre egy rövid kis admin goto rendszert ami a TAB megnyomásával és a playerre való dupla kttintással mûködik, és szeretném veletek is megosztani
Készítõ: Én
Készítési idõ: 1-2 perc
#include <a_samp>
#include <colors> //Ha nincs color includeod akkor definiálnod kell a COLOR_YELLOW-t!
public OnPlayerClickPlayer(playerid, clickedplayerid, source)
{
if(!IsPlayerAdmin(playerid))
{
SendClientMessage(playerid, COLOR_RED, \"Nincs jogod gotozni!\")
return 1;
}
new name[MAX_PLAYER_NAME+1], string[24+MAX_PLAYER_NAME+1];
new Float:x, Float:y, Float:z;
GetPlayerPos(clickedplayerid, x, y, z);
SetPlayerPos(playerid, x +3, y +3 , z +3)
GetPlayerName(playerid, name, sizeof(name));
format(string, sizeof(string), \"Admin %s elteleportált hozzád!\", name);
SendClientMessage(clickedplayerid, COLOR_YELLOW, string)
return 1;
}
-
format(string, sizeof(string), \"Admin %s elteleportált hozzád!\", name);
SendClientMessage(playerid, COLOR_YELLOW, string)
Ezzel annyi lesz a probléma, hogy neked fogja kiírni nem az adott játékosnak akihez teleportáltál. Azért lehetett volna a kódon még egyszerûsíteni mert elég hosszú így is de azért jó kód.
-
Fú köszi erre nem is figyeltem. Javítva. Amúgy alapból kb 5 soros(include nélkül) volt csak kibõvítettem
-
[pawn]
if(!IsPlayerAdmin(playerid))
{
SendClientMessage(playerid, COLOR_RED, \"Nincs jogod gotozni!\")
return 1;
}
[/pawn]
Ezt lehetne egy sorba is:
[pawn]
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, COLOR_RED, \"Nincs jogod gotozni!\")
[/pawn]
Persze nem hiba csak így spórolsz a sorokkal.
-
Stílusfüggõ, ki hogy rakja.
Sorokkal soha nem kell spórolni, a scriptnek hatékonynak és átláthatónak kell lenni.
-
Ezt nem igazán lehet megoldani 5 sorban, csak maga az eljárás és a nyitások - csukások annyi.
Még ha nagyon összesûríted is:
public OnPlayerClickPlayer(playerid, clickedplayerid, source) {
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, COLOR_RED, \"Nincs jogod gotozni!\");
new name[MAX_PLAYER_NAME], string[25+MAX_PLAYER_NAME],Float:pos[3];
GetPlayerPos(clickedplayerid, pos[0],pos[1],pos[2]); SetPlayerPos(playerid,pos[0]+3,pos[1]+3,pos[2]+3)
GetPlayerName(playerid, name, sizeof(name)); format(string, sizeof(string), \"Admin %s elteleportált hozzád!\", name);
SendClientMessage(clickedplayerid, COLOR_YELLOW, string); return 1;
}
De ez így hányinger.
(Arról nem beszélve, hogy rengeteg helyrõl hiányzik a \";\" ..)
-
Úgy bizony. Hibás a kód, de amit szeretnék hozzáfûzni, az az, hogy tényleg te kell átlásd a szkriptedet és aszerint írd a soraidat.
-
Hmm... Hasznos lehet, mivel nem kell parancsokat beírogatni, hanem egy kattintás és kész :D Jó ötlet :thumbsup:
-
Hát lehet jó de nekem nem nagyon jön be.