Szerző Téma: DM  (Megtekintve 550 alkalommal)

DM
« Dátum: 2012. október 30. - 18:54:11 »
0 Show voters
Dm zónát szertnék létrehozni ennek a leíásnak a segítségével : http://sampforum.hu/index.php?topic=3758.msg238427#msg238427
De sajnos Erroros........
 
// This is a comment
// uncomment the line below if you want to write a filterscript
//#define FILTERSCRIPT
#include <a_samp>
#include <zcmd> //Include
new IsPlayerInDM[MAX_PLAYERS]; //Egy váltózó létrehozása.
new IsPlayerInDMRendor[MAX_PLAYERS]; //Két váltózó kell, hogy e keveredjenek össze a csapatok.
#define DIALOG_CSAPAT 1 //Ez a dialog ID ha, hogy ne ütközzön más dialogal össze.
#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) //Csatlakozás a Szerverrhez!
{
IsPlayerInDM[playerid] = 0; //Ha egy játékos ha csatlakozik ne tegye be a DM -be így le 0 -zuk.
IsPlayerInDMRendor[playerid] == 0;
return 1;
}
public OnPlayerDisconnect(playerid, reason) //Lelépés a szerverrõl.
{
IsPlayerInDM[playerid] = 0; //Ha egy játékos lemegyen a szerverrõl akkor kilép a dm zónából is.
IsPlayerInDMRendor[playerid] = 0;
return 1;
}
public OnPlayerSpawn(playerid) //Ha a játékos meghall akkor lespawnolja.
{
if(IsPlayerInDM[playerid] == 1) //Ha megölik a játékos le ellenõrzi, hogy nincs -e DM -ben ha DM -ben van akkor vissza teszi.
{
SetPlayerPos(playerid, 2131.0662,-2535.6016,18.8190); //HOVA TEGYE
SendClientMessage(playerid,-1,\"{FF0606}Meghaltál ezért vissza lettél rakva a Dead Matchba! Killépéshez /exitdm!\");
SetPlayerHealth(playerid, 100); //adunk neki 100 életerõt.
SetPlayerArmour(playerid,0); //levesszûk a páncélt de ha szeretnél adni neki akkor tedd 100 a 0 -t!
return 1;
}
if(IsPlayerInDMRendor[playerid] == 1) //Ha megölik a játékos le ellenõrzi, hogy nincs -e DM -ben ha DM -ben van akkor vissza teszi.
{
SetPlayerPos(playerid, 2131.0662,-2535.6016,18.8190); //HOVA TEGYE
SendClientMessage(playerid,-1,\"{FF0606}Meghaltál ezért vissza lettél rakva a Dead Matchba! Killépéshez /exitdm!\");
SetPlayerHealth(playerid, 100); //adunk neki 100 életerõt.
SetPlayerArmour(playerid,0); //levesszûk a páncélt de ha szeretnél adni neki akkor tedd 100 a 0 -t
return 1;
}
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[])
{
    CMD:dm(playerid, params[])
    {
    if(IsPlayerInDM[playerid] == 1) return SendClientMessage(playerid, 0x00FF00, \"Már DM -ben vagy nem választhatól megint!\"); //Ha a Játékos már DM -ben van akkor
    if(IsPlayerInDMRendor[playerid] == 1) return SendClientMessage(playerid, 0x00FF00, \"Már DM -ben vagy nem választhatól megint!\");
    ShowPlayerDialog(playerid, DIALOG_CSAPAT, DIALOG_STYLE_LIST, \"Válasz egy Csapatot\", \"Rendõr\\nBünõzõ\", \"Választ\", \"Mégsem\"); //A dialog kijelenése és a választása
    return 1;
    }
    CMD:exitdm(playerid, params[]) //A killépési parancs!
    {
    new string[600],pname[MAX_PLAYER_NAME];
    GetPlayerName(playerid, pname, sizeof(pname));
    if(IsPlayerInDM[playerid] == 0) return SendClientMessage(playerid, 0x00FF00, \"Nem vagy DM -ben!\"); //Ha a játékos nincs DM -ben akkor elküldi ezt az üzenetet.
    if(IsPlayerInDMRendor[playerid] == 0) return SendClientMessage(playerid, 0x00FF00, \"Nem vagy DM -ben!\"); //Ha a játékos nincs DM -ben akkor elküldi ezt az üzenetet.
    if(IsPlayerInDM[playerid] == 1) return SendClientMessage(playerid, 0x00FF00, \"Vigyázz DM -ben vagy így nem használhatól más parancsot!\");
    if(IsPlayerInDMRendor[playerid] == 1) return SendClientMessage(playerid, 0x00FF00, \"Vigyázz DM -ben vagy így nem használhatól más parancsot!\");
    IsPlayerInDMRendor[playerid] == 0)
    IsPlayerInDM[playerid] = 0; //A játékost killéptetjük a DM zonából vagyis már nincs benne.
    format(string, sizeof(string), \"Játékos %s killépet a DM Zónábol! (/exitdm)\", pname); //Elküldi mindenkinek az üzenetet.
    SendClientMessageToAll(0x00FF00, string);
    SendClientMessage(playerid, 0x00FF00, \"Sikeresen killéptél a DM Zónábol!\"); //Elküldi a játékosnak, hogy killépet a DM -zónából.
    SetPlayerPos(playerid, SPAWNOLÁSA);
    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[])
{
    if(dialogid == DIALOG_CSAPAT) //A dialog neve amit létrehoztunk a belépésnél.
    {
    if(response)
    {
    if(listitem == 0) //Rendõr Csapata
    {
    SetPlayerPos(playerid, POZICÍÓ); //IDE A POZíCÍTÓ AHOVÁ TEGYE A JÁTÉKOST A RENDÕRÕKNEK!
    IsPlayerInDMRendor[playerid] == 1;
    }
    if(listitem == 1) //Bünõzõ Csapat
    {
     SetPlayerPos(playerid, POZÍCIÓ); //IDE AZ A POZíCÍÓ AHOVÁ TEGYE A BÜNÕZÕKET!
     IsPlayerInDM[playerid] == 1;
     }
     }
 }
return 1;
}
public OnPlayerClickPlayer(playerid, clickedplayerid, source)
{
return 1;
}

 
ERROR
 
D:\\SERVER\\DM (PROTO)\\CS.DM.pwn(61) : warning 215: expression has no effect
D:\\SERVER\\DM (PROTO)\\CS.DM.pwn(115) : error 029: invalid expression, assumed zero
D:\\SERVER\\DM (PROTO)\\CS.DM.pwn(115) : error 017: undefined symbol \"cmd_dm\"
D:\\SERVER\\DM (PROTO)\\CS.DM.pwn(115) : error 029: invalid expression, assumed zero
D:\\SERVER\\DM (PROTO)\\CS.DM.pwn(115) : fatal error 107: too many error messages on one line
Compilation aborted.Pawn compiler 3.2.3664           Copyright © 1997-2006, ITB CompuPhase
4 Errors.
 
[/quote]

Nem elérhető ZyZu.

  • Globális moderátor
  • 8939
  • my turbo diesel forum
  • Discord: ZyZu.
    • Profil megtekintése
DM
« Válasz #1 Dátum: 2012. október 30. - 21:32:02 »
0 Show voters
Elég ha 1 változót hozzol létre vagyis PlayerInDM == 1; a másik pedig PlayerInDM == 2; nem kell 2 belõle..

DM
« Válasz #2 Dátum: 2012. október 31. - 00:06:19 »
0 Show voters
Mód elejére:
 

#include < zcmd >
#define DIALOG_CSAPAT 1
new DM[MAX_PLAYERS];

 
OnPlayerConnect & Disconnect-hez
 
DM[playerid] = 0;

 
Ezt bárhova teheted csak NE eljárásba.
 

CMD:dm(playerid)
{
    if(dm[playerid] == 1 || dm[playerid] == 2) return SendClientMessage(playerid, 0x00FF00, \"Már bent vagy egy DM zónában!\");
    ShowPlayerDialog(playerid, DIALOG_CSAPAT, DIALOG_STYLE_LIST, \"Válasz egy Csapatot\", \"Rendõr\\nBünõzõ\", \"Választ\", \"Mégsem\");
    return 1;
}
CMD:exitdm(playerid)
{
    new string[128], pName[24];
    GetPlayerName(playerid, pName, 24);
    if(dm[playerid] == 0) return SendClientMessage(playerid, 0x00FF00, \"Nem vagy bent 1 DM zónában se!\");
    dm[playerid] == 0;
    format(string, sizeof(string), \"%s nevû játékos kilépett a DM zónából! (/exitdm)\", pName);
    SendClientMessageToAll(0x00FF00, string);
    return 1;
}

 


OnDialogResponse részhez:

 

if(dialogid == 1)
{
    if(response)
    {
        if(listitem == 0)
        {
            SetPlayerPos(playerid, X, Y, Z);
            dm[playerid] = 1;
        }
        if(listitem == 1)
        {
            SetPlayerPos(playerid, X, Y, Z);
            dm[playerid] = 2;
        }
    }
}

DM
« Válasz #3 Dátum: 2012. október 31. - 08:59:14 »
0 Show voters
kicseréltem de ugyanazok a hibák...
 
// This is a comment
// uncomment the line below if you want to write a filterscript
//#define FILTERSCRIPT
#include <a_samp>
#include < zcmd >
#define DIALOG_CSAPAT 1
new IsPlayerInDM[MAX_PLAYERS]; //Egy váltózó létrehozása.
new IsPlayerInDMRendor[MAX_PLAYERS]; //Két váltózó kell, hogy e keveredjenek össze a csapatok.
#define DIALOG_CSAPAT 1 //Ez a dialog ID ha, hogy ne ütközzön más dialogal össze.
new DM[MAX_PLAYERS];
#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) //Csatlakozás a Szerverrhez!
{
IsPlayerInDM[playerid] = 0; //Ha egy játékos ha csatlakozik ne tegye be a DM -be így le 0 -zuk.
IsPlayerInDMRendor[playerid] == 0;
DM[playerid] = 0;
return 1;
}
public OnPlayerDisconnect(playerid, reason) //Lelépés a szerverrõl.
{
IsPlayerInDM[playerid] = 0; //Ha egy játékos lemegyen a szerverrõl akkor kilép a dm zónából is.
IsPlayerInDMRendor[playerid] = 0;
DM[playerid] = 0;
return 1;
}
public OnPlayerSpawn(playerid) //Ha a játékos meghall akkor lespawnolja.
{
if(IsPlayerInDM[playerid] == 1) //Ha megölik a játékos le ellenõrzi, hogy nincs -e DM -ben ha DM -ben van akkor vissza teszi.
{
SetPlayerPos(playerid, 2131.0662,-2535.6016,18.8190); //HOVA TEGYE
SendClientMessage(playerid,-1,\"{FF0606}Meghaltál ezért vissza lettél rakva a Dead Matchba! Killépéshez /exitdm!\");
SetPlayerHealth(playerid, 100); //adunk neki 100 életerõt.
SetPlayerArmour(playerid,0); //levesszûk a páncélt de ha szeretnél adni neki akkor tedd 100 a 0 -t!
return 1;
}
if(IsPlayerInDMRendor[playerid] == 1) //Ha megölik a játékos le ellenõrzi, hogy nincs -e DM -ben ha DM -ben van akkor vissza teszi.
{
SetPlayerPos(playerid, 2131.0662,-2535.6016,18.8190); //HOVA TEGYE
SendClientMessage(playerid,-1,\"{FF0606}Meghaltál ezért vissza lettél rakva a Dead Matchba! Killépéshez /exitdm!\");
SetPlayerHealth(playerid, 100); //adunk neki 100 életerõt.
SetPlayerArmour(playerid,0); //levesszûk a páncélt de ha szeretnél adni neki akkor tedd 100 a 0 -t
return 1;
}
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[])
{
CMD:dm(playerid)
{
if(dm[playerid] == 1 || dm[playerid] == 2) return SendClientMessage(playerid, 0x00FF00, \"Már bent vagy egy DM zónában!\");
ShowPlayerDialog(playerid, DIALOG_CSAPAT, DIALOG_STYLE_LIST, \"Válasz egy Csapatot\", \"Rendõr\\nBünõzõ\", \"Választ\", \"Mégsem\");
return 1;
}
CMD:exitdm(playerid)
{
new string[128], pName[24];
GetPlayerName(playerid, pName, 24);
if(dm[playerid] == 0) return SendClientMessage(playerid, 0x00FF00, \"Nem vagy bent 1 DM zónában se!\");
dm[playerid] == 0;
format(string, sizeof(string), \"%s nevû játékos kilépett a DM zónából! (/exitdm)\", pName);
SendClientMessageToAll(0x00FF00, string);
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[])
{
    if(dialogid == 1)
{
if(response)
{
if(listitem == 0)
{
SetPlayerPos(playerid, X, Y, Z);
dm[playerid] = 1;
}
if(listitem == 1)
{
SetPlayerPos(playerid, X, Y, Z);
dm[playerid] = 2;
}
}
}
return 1;
}
public OnPlayerClickPlayer(playerid, clickedplayerid, source)
{
return 1;
}

DM
« Válasz #4 Dátum: 2012. október 31. - 14:12:24 »
0 Show voters
Azokat az IsPlayerInDM változókat töröld a francba, nem kellenek, az egész csak annyiból álljon amennyit én írtam, ha lesz a gépemen net mögé írom mi mit jelent hogy tisztább legyen a kép.  :)

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal