-
Sziasztok!!
Pawno ba létrehoztam egy alap játékmódot:
// A Játékmód SevenRPG-Számára készítette |Scripterünk: Martin_Surenos|
// Szerverben, egyenlõre épitõ rendszer található amit, egyedileg írtúnk!
//#define FILTERSCRIPT
#include <a_samp>
#if defined FILTERSCRIPT
public OnFilterScriptInit()
{
print(\"\\n--------------------------------------\");
print(\" Játkmodót csak is Bruce Engedélyével lehet publikálni!!\");
print(\" A Játékmodót sevenrpg.clan.su- szervernek készítettük!!\");
print(\"--------------------------------------\\n\");
return 1;
}
public OnFilterScriptExit()
{
return 1;
}
#else
main()
{
print(\"\\n----------------------------------\");
print(\" Seven[RPG] Online Szerver\");
print(\"----------------------------------\\n\");
}
#endif
public OnGameModeInit()
{
// Ne használd ezeket a sorozatokat, ha ez egy Filterszkript!!
SetGameModeText(\"SevenRPG City\");
AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
return 1;
}
public OnGameModeExit()
{
return 1;
}
public OnPlayerRequestClass(playerid, classid)
{
SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
return 1;
}
public OnPlayerConnect(playerid)
{
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
return 1;
}
public OnPlayerSpawn(playerid)
{
return 1;
}
public OnPlayerDeath(playerid, killerid, reason)
{
return 1;
}
public OnVehicleSpawn(vehicleid)
{
return 1;
}
public OnVehicleDeath(vehicleid, killerid)
{
return 1;
}
public OnPlayerText(playerid, text[])
{
return 1;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp(\"/sevenparancs\", cmdtext, true, 10) == 0)
{
// Do something here
return 1;
}
return 0;
}
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
return 1;
}
public OnPlayerExitVehicle(playerid, vehicleid)
{
return 1;
}
public OnPlayerStateChange(playerid, newstate, oldstate)
{
return 1;
}
public OnPlayerEnterCheckpoint(playerid)
{
return 1;
}
public OnPlayerLeaveCheckpoint(playerid)
{
return 1;
}
public OnPlayerEnterRaceCheckpoint(playerid)
{
return 1;
}
public OnPlayerLeaveRaceCheckpoint(playerid)
{
return 1;
}
public OnRconCommand(cmd[])
{
return 1;
}
public OnPlayerRequestSpawn(playerid)
{
return 1;
}
public OnObjectMoved(objectid)
{
return 1;
}
public OnPlayerObjectMoved(playerid, objectid)
{
return 1;
}
public OnPlayerPickUpPickup(playerid, pickupid)
{
return 1;
}
public OnVehicleMod(playerid, vehicleid, componentid)
{
return 1;
}
public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
{
return 1;
}
public OnVehicleRespray(playerid, vehicleid, color1, color2)
{
return 1;
}
public OnPlayerSelectedMenuRow(playerid, row)
{
return 1;
}
public OnPlayerExitedMenu(playerid)
{
return 1;
}
public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
{
return 1;
}
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
return 1;
}
public OnRconLoginAttempt(ip[], password[], success)
{
return 1;
}
public OnPlayerUpdate(playerid)
{
return 1;
}
public OnPlayerStreamIn(playerid, forplayerid)
{
return 1;
}
public OnPlayerStreamOut(playerid, forplayerid)
{
return 1;
}
public OnVehicleStreamIn(vehicleid, forplayerid)
{
return 1;
}
public OnVehicleStreamOut(vehicleid, forplayerid)
{
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
return 1;
}
public OnPlayerClickPlayer(playerid, clickedplayerid, source)
{
return 1;
}
Szóval, mondjuk letöltök egy GPS Rendszert: Megnyitom pawnoba kimásolom a pawno kódját
És hogy tudom, bele építeni a alap játékmódba hogy ne a server.cfg be legyen??
Meg hogy, meik részére írjam!!
Bárki segít kap +!
-
Megnézed a GPS FilterScript-be melyik függvény milyen callback alatt van és a Módba és oda másolod.
-
Elõbb másold be a GPS rendszered és megcsinálom neked, hogy lásd, code tagokban írd le..
-
Zyzu: Köszi de az a lényeg hogy nekem kéne megtanulnom!!
Jhonnyes: Nem értem milyen callback bemásoltam a pawnoba GPS Kódját és keresõbe beírtam callback
-
Nem úgy, hanem ami pl. OnPlayerCommandText alatt van, azt bemásolod a módbeli OnPlayerCommandText alá, stb.
-
Köszi Star de nem megy nekem leírod hogy kell??
Alap játékmód:
// This is a comment
// uncomment the line below if you want to write a filterscript
//#define FILTERSCRIPT
#include <a_samp>
#if defined FILTERSCRIPT
public OnFilterScriptInit()
{
print(\"\\n--------------------------------------\");
print(\" Blank Filterscript by your name here\");
print(\"--------------------------------------\\n\");
return 1;
}
public OnFilterScriptExit()
{
return 1;
}
#else
main()
{
print(\"\\n----------------------------------\");
print(\" Blank Gamemode by your name here\");
print(\"----------------------------------\\n\");
}
#endif
public OnGameModeInit()
{
// Don\'t use these lines if it\'s a filterscript
SetGameModeText(\"Blank Script\");
AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
return 1;
}
public OnGameModeExit()
{
return 1;
}
public OnPlayerRequestClass(playerid, classid)
{
SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
return 1;
}
public OnPlayerConnect(playerid)
{
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
return 1;
}
public OnPlayerSpawn(playerid)
{
return 1;
}
public OnPlayerDeath(playerid, killerid, reason)
{
return 1;
}
public OnVehicleSpawn(vehicleid)
{
return 1;
}
public OnVehicleDeath(vehicleid, killerid)
{
return 1;
}
public OnPlayerText(playerid, text[])
{
return 1;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp(\"/mycommand\", cmdtext, true, 10) == 0)
{
// Do something here
return 1;
}
return 0;
}
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
return 1;
}
public OnPlayerExitVehicle(playerid, vehicleid)
{
return 1;
}
public OnPlayerStateChange(playerid, newstate, oldstate)
{
return 1;
}
public OnPlayerEnterCheckpoint(playerid)
{
return 1;
}
public OnPlayerLeaveCheckpoint(playerid)
{
return 1;
}
public OnPlayerEnterRaceCheckpoint(playerid)
{
return 1;
}
public OnPlayerLeaveRaceCheckpoint(playerid)
{
return 1;
}
public OnRconCommand(cmd[])
{
return 1;
}
public OnPlayerRequestSpawn(playerid)
{
return 1;
}
public OnObjectMoved(objectid)
{
return 1;
}
public OnPlayerObjectMoved(playerid, objectid)
{
return 1;
}
public OnPlayerPickUpPickup(playerid, pickupid)
{
return 1;
}
public OnVehicleMod(playerid, vehicleid, componentid)
{
return 1;
}
public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
{
return 1;
}
public OnVehicleRespray(playerid, vehicleid, color1, color2)
{
return 1;
}
public OnPlayerSelectedMenuRow(playerid, row)
{
return 1;
}
public OnPlayerExitedMenu(playerid)
{
return 1;
}
public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
{
return 1;
}
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
return 1;
}
public OnRconLoginAttempt(ip[], password[], success)
{
return 1;
}
public OnPlayerUpdate(playerid)
{
return 1;
}
public OnPlayerStreamIn(playerid, forplayerid)
{
return 1;
}
public OnPlayerStreamOut(playerid, forplayerid)
{
return 1;
}
public OnVehicleStreamIn(vehicleid, forplayerid)
{
return 1;
}
public OnVehicleStreamOut(vehicleid, forplayerid)
{
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
return 1;
}
public OnPlayerClickPlayer(playerid, clickedplayerid, source)
{
return 1;
}
Amit bele szeretnék épiteni GPS JELADÓ
#include <a_samp>
#include <zcmd>
public OnFilterScriptInit()
{
LimitPlayerMarkerRadius(100.0);
printf(\"\\n GPS Filterscript betöltve. by doboka98\\n\");
}
new plaID;
CMD:gpsvesz(playerid,params[])
{
if(IsPlayerInRangeOfPoint(playerid, 5, 0, 0, 0)) // a 3 nullás helyére írd a koordinátákat, hogy hol veheti meg a játékos a GPS -ét
{
SetPVarInt(playerid, \"jeladovan\", 1);
GivePlayerMoney(playerid, -1000); //ezt állítsd annyira, amennyi pénzbe kerüljön a GPS jeladó és GPS. Most 1000-re van állítva.
SendClientMessage(playerid, -1, \"Vettél egy GPS -t és egy jeladót hozzá! Felrakhatod valakire, de lehet hogy észreveszi! ((/gpsrak))\");
}
return 1;
}
CMD:gpsrak(playerid, params[])
{
plaID = GetClosestPlayerToPlayer(playerid);
new Float:pos[3];
GetPlayerPos(playerid, pos[0], pos[1], pos[2]);
if(GetPVarInt(playerid, \"jeladovan\") == 0) return SendClientMessage(playerid, 0xFB0000FF, \"Nincs jeladód, amit felrakhatsz másra!\");
if(IsPlayerInRangeOfPoint(plaID,2.0, pos[0], pos[1], pos[2]))
{
new esely = random(4);
if(esely == 1)
{
SetPVarInt(plaID, \"jeladovan\", 1);
SetPVarInt(playerid, \"jeladovan\", 0);
SendClientMessage(playerid, -1, \"Ráraktad a jeladót!((/gpsbe))\");
}
else
{
SetPVarInt(plaID,\"jeladovan\", 0);
SetPVarInt(playerid, \"jeladovan\", 0);
SendClientMessage(playerid, -1, \"Ráraktad a jeladót!((/gpsbe))\");
SendClientMessage(plaID,0xFB0000FF, \"Valaki rád rakott egy jeladót és azonnal levetted!\");
}
}
return 1;
}
CMD:gpsbe(playerid, params[])
{
if(GetPVarInt(playerid, \"gps\") == 1)
{
SetPVarInt(playerid, \"gps\", 1);
if(GetPVarInt(plaID, \"jeladovan\") == 1)
{
SendClientMessage(playerid, -1, \"Bekapcsoltad a GPS -t!((/gpski))\");
SendClientMessage(playerid, -1, \"Jel keresése...\");
SendClientMessage(playerid, -1, \"Jel megtalálva!\");
SetPlayerMarkerForPlayer( playerid, plaID, 0xFF0000FF );
}
else
{
SendClientMessage(playerid, -1, \"Bekapcsoltad a GPS -t!((/gpski))\");
SendClientMessage(playerid, -1, \"Jel keresése...\");
SendClientMessage(playerid, -1, \"Nincs jel!\");
}
}
return 1;
}
CMD:gpski(playerid, params[])
{
if(GetPVarInt(playerid, \"gps\") == 1)
{
SetPVarInt(playerid, \"gps\", 0);
SetPlayerMarkerForPlayer( playerid, plaID, 0xFFFFFF00 );
SendClientMessage(playerid, -1, \"Kikapcsoltad a GPS -t!\");
}
return 1;
}
stock GetClosestPlayerToPlayer(playerid)
{
new Float:dist = 1000.0;
new targetid = INVALID_PLAYER_ID;
new Float:x1,Float:y1,Float:z1;
new Float:x2,Float:y2,Float:z2;
new Float:tmpdis;
GetPlayerPos(playerid,x1,y1,z1);
for(new i=0;i<MAX_PLAYERS;i++)
{
if(i == playerid) continue;
GetPlayerPos(i,x2,y2,z2);
tmpdis = floatsqroot(floatpower(floatabs(floatsub(x2,x1)),2)+floatpower(floatabs(floatsub(y2,y1)),2)+floatpower(floatabs(floatsub(z2,z1)),2));
if(tmpdis < dist)
{
dist = tmpdis;
targetid = i;
}
}
return targetid;
}
Ha segítes megy a +!
-
Tesseg:
// This is a comment
// uncomment the line below if you want to write a filterscript
//#define FILTERSCRIPT
#include <a_samp>
#include <zcmd>
#if defined FILTERSCRIPT
public OnFilterScriptInit()
{
print(\"\\n--------------------------------------\");
print(\" Blank Filterscript by your name here\");
print(\"--------------------------------------\\n\");
LimitPlayerMarkerRadius(100.0);
printf(\"\\n GPS Filterscript betöltve. by doboka98\\n\");
return 1;
}
public OnFilterScriptExit()
{
return 1;
}
#else
main()
{
print(\"\\n----------------------------------\");
print(\" Blank Gamemode by your name here\");
print(\"----------------------------------\\n\");
}
#endif
public OnGameModeInit()
{
// Don\'t use these lines if it\'s a filterscript
SetGameModeText(\"Blank Script\");
AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
return 1;
}
public OnGameModeExit()
{
return 1;
}
public OnPlayerRequestClass(playerid, classid)
{
SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
return 1;
}
public OnPlayerConnect(playerid)
{
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
return 1;
}
public OnPlayerSpawn(playerid)
{
return 1;
}
public OnPlayerDeath(playerid, killerid, reason)
{
return 1;
}
public OnVehicleSpawn(vehicleid)
{
return 1;
}
public OnVehicleDeath(vehicleid, killerid)
{
return 1;
}
public OnPlayerText(playerid, text[])
{
return 1;
}
new plaID;
CMD:gpsvesz(playerid,params[])
{
if(IsPlayerInRangeOfPoint(playerid, 5, 0, 0, 0)) // a 3 nullás helyére írd a koordinátákat, hogy hol veheti meg a játékos a GPS -ét
{
SetPVarInt(playerid, \"jeladovan\", 1);
GivePlayerMoney(playerid, -1000); //ezt állítsd annyira, amennyi pénzbe kerüljön a GPS jeladó és GPS. Most 1000-re van állítva.
SendClientMessage(playerid, -1, \"Vettél egy GPS -t és egy jeladót hozzá! Felrakhatod valakire, de lehet hogy észreveszi! ((/gpsrak))\");
}
return 1;
}
CMD:gpsrak(playerid, params[])
{
plaID = GetClosestPlayerToPlayer(playerid);
new Float:pos[3];
GetPlayerPos(playerid, pos[0], pos[1], pos[2]);
if(GetPVarInt(playerid, \"jeladovan\") == 0) return SendClientMessage(playerid, 0xFB0000FF, \"Nincs jeladód, amit felrakhatsz másra!\");
if(IsPlayerInRangeOfPoint(plaID,2.0, pos[0], pos[1], pos[2]))
{
new esely = random(4);
if(esely == 1)
{
SetPVarInt(plaID, \"jeladovan\", 1);
SetPVarInt(playerid, \"jeladovan\", 0);
SendClientMessage(playerid, -1, \"Ráraktad a jeladót!((/gpsbe))\");
}
else
{
SetPVarInt(plaID,\"jeladovan\", 0);
SetPVarInt(playerid, \"jeladovan\", 0);
SendClientMessage(playerid, -1, \"Ráraktad a jeladót!((/gpsbe))\");
SendClientMessage(plaID,0xFB0000FF, \"Valaki rád rakott egy jeladót és azonnal levetted!\");
}
}
return 1;
}
CMD:gpsbe(playerid, params[])
{
if(GetPVarInt(playerid, \"gps\") == 1)
{
SetPVarInt(playerid, \"gps\", 1);
if(GetPVarInt(plaID, \"jeladovan\") == 1)
{
SendClientMessage(playerid, -1, \"Bekapcsoltad a GPS -t!((/gpski))\");
SendClientMessage(playerid, -1, \"Jel keresése...\");
SendClientMessage(playerid, -1, \"Jel megtalálva!\");
SetPlayerMarkerForPlayer( playerid, plaID, 0xFF0000FF );
}
else
{
SendClientMessage(playerid, -1, \"Bekapcsoltad a GPS -t!((/gpski))\");
SendClientMessage(playerid, -1, \"Jel keresése...\");
SendClientMessage(playerid, -1, \"Nincs jel!\");
}
}
return 1;
}
CMD:gpski(playerid, params[])
{
if(GetPVarInt(playerid, \"gps\") == 1)
{
SetPVarInt(playerid, \"gps\", 0);
SetPlayerMarkerForPlayer( playerid, plaID, 0xFFFFFF00 );
SendClientMessage(playerid, -1, \"Kikapcsoltad a GPS -t!\");
}
return 1;
}
stock GetClosestPlayerToPlayer(playerid)
{
new Float:dist = 1000.0;
new targetid = INVALID_PLAYER_ID;
new Float:x1,Float:y1,Float:z1;
new Float:x2,Float:y2,Float:z2;
new Float:tmpdis;
GetPlayerPos(playerid,x1,y1,z1);
for(new i=0;i<MAX_PLAYERS;i++)
{
if(i == playerid) continue;
GetPlayerPos(i,x2,y2,z2);
tmpdis = floatsqroot(floatpower(floatabs(floatsub(x2,x1)),2)+floatpower(floatabs(floatsub(y2,y1)),2)+floatpower(floatabs(floatsub(z2,z1)),2));
if(tmpdis < dist)
{
dist = tmpdis;
targetid = i;
}
}
return targetid;
}
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
return 1;
}
public OnPlayerExitVehicle(playerid, vehicleid)
{
return 1;
}
public OnPlayerStateChange(playerid, newstate, oldstate)
{
return 1;
}
public OnPlayerEnterCheckpoint(playerid)
{
return 1;
}
public OnPlayerLeaveCheckpoint(playerid)
{
return 1;
}
public OnPlayerEnterRaceCheckpoint(playerid)
{
return 1;
}
public OnPlayerLeaveRaceCheckpoint(playerid)
{
return 1;
}
public OnRconCommand(cmd[])
{
return 1;
}
public OnPlayerRequestSpawn(playerid)
{
return 1;
}
public OnObjectMoved(objectid)
{
return 1;
}
public OnPlayerObjectMoved(playerid, objectid)
{
return 1;
}
public OnPlayerPickUpPickup(playerid, pickupid)
{
return 1;
}
public OnVehicleMod(playerid, vehicleid, componentid)
{
return 1;
}
public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
{
return 1;
}
public OnVehicleRespray(playerid, vehicleid, color1, color2)
{
return 1;
}
public OnPlayerSelectedMenuRow(playerid, row)
{
return 1;
}
public OnPlayerExitedMenu(playerid)
{
return 1;
}
public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
{
return 1;
}
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
return 1;
}
public OnRconLoginAttempt(ip[], password[], success)
{
return 1;
}
public OnPlayerUpdate(playerid)
{
return 1;
}
public OnPlayerStreamIn(playerid, forplayerid)
{
return 1;
}
public OnPlayerStreamOut(playerid, forplayerid)
{
return 1;
}
public OnVehicleStreamIn(vehicleid, forplayerid)
{
return 1;
}
public OnVehicleStreamOut(vehicleid, forplayerid)
{
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
return 1;
}
public OnPlayerClickPlayer(playerid, clickedplayerid, source)
{
return 1;
}
-
Példa egy callback-ra:
public OnFilterScriptInit
public OnPlayerCommandText
Remélem így érted. :D
-
lényeg az hogy berakod az inceket és ami pl az
OnPlayerConnect alatt van azt bemásolod az OnPlayerConnect alá....