Szerző Téma: Munka script hiba  (Megtekintve 436 alkalommal)

Munka script hiba
« Dátum: 2013. augusztus 13. - 22:29:55 »
0 Show voters
Sziasztok! A problémám a következõ:
Írtam egy munka scriptet amit a fõ gamemode tartalmaz. Van 3 státuszt: Munkanélküli, Úttisztító, Fûnyírós.
Munkanélküliként kezd a spawn után, és akkor tud elfogadni melókat, ha felveszi a megfelelõ pickupot és Dialog-ban elfogadja a melót.
DE: Ha beszáll a munkajármûbe, akkor fel kéne dobnia egy checkpointot és egy client message-et kéne kapni. Ha pedig nem fogadta el a megfelelõ melót,
akkor pedig ki kéne dobnia õt a jármûbõl, és kapnia egy client message-et, hogy nem vette fel a munkát.
Kérlek segítsetek!
 
// script processzorok
#include <a_samp>
#include <ocmd>
#include <dini>
// nem használt
#pragma unused ret_memcpy
#pragma unused strtok
// munkák
#define munkak_szama 3 //munkák száma \"3\"
#define munkanelkuli 0 //munkanélküli
#define uttisztito 1 //úttisztító
#define funyiros 2 //fûnyíró
new munka[MAX_PLAYERS];
new uttiszt[20], funyiro[20]; // cp
// pickup
new uttisztitomelo, funyirosmelo;

 

// Pickupok
uttisztitomelo = CreatePickup(1239, 1, -135.0452, 1116.8944, 20.1966, -1);
funyirosmelo = CreatePickup(1239, 1, 290.2618, 1139.1715, 8.7727, -1);

 

public OnPlayerPickUpPickup(playerid, pickupid)
{
// Úttisztító meló pickup
if(pickupid == uttisztitomelo)
{
ShowPlayerDialog(playerid, 1, DIALOG_STYLE_LIST, \"Úttisztító munka\", \"Felvesz\\nFelmond\",\"Ok\",\"Mégse\");
SetPlayerPos(playerid, -144.6597, 1139.9865, 19.4672);
return 1;
}
// Fûnyíró meló pickup
if(pickupid == funyirosmelo)
{
ShowPlayerDialog(playerid, 2, DIALOG_STYLE_LIST, \"Fûnyíró munka\", \"Felvesz\\nFelmond\",\"Ok\",\"Mégse\");
SetPlayerPos(playerid, 271.1249, 1147.7886, 10.4579);
return 1;
}
return 0;
}

 

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
// Úttisztító munka
if(dialogid == 1)
{
if(response)
{
   if(listitem == 0)
                  {
                        SetPlayerSkin(playerid, 16);
                        munka[playerid] = 1; //úttisztítóvá válik
                        SendClientMessage(playerid, COLOR_WHITE, \"Felvetted az úttisztító munkát.\");
   return 1;
   }
   if(listitem == 1)
   {
   munka[playerid] = 0;
   SendClientMessage(playerid, COLOR_WHITE, \"Felmondtál.\");
   return 1;
   }
}
}
// Fûnyíró munka
{if(dialogid == 2)
{
    if(response)
    {
        if(listitem == 0)
        {
   SetPlayerSkin(playerid, 162);
   munka[playerid] = 2; //fûnyíróssá válik
   SendClientMessage(playerid, COLOR_WHITE, \"Felvetted a fûnyíró munkát.\");
   return 1;
   }
   if(listitem == 1)
   {
   munka[playerid] = 0;
   SendClientMessage(playerid, COLOR_WHITE, \"Felmondtál.\");
   return 1;
   }
}
}
}
return 0;
}

 

public OnPlayerStateChange(playerid, newstate, oldstate)
{
new vehid = GetPlayerVehicleID(playerid);
new Float:x, Float:y, Float:z;
if(vehid == 574)
{
    if(oldstate == PLAYER_STATE_ONFOOT && newstate == PLAYER_STATE_DRIVER)
    {
       if(munka[playerid] == 1)
       {
           SendClientMessage(playerid, COLOR_WHITE, \"Menj és tisztítsd meg az utat!\");
           SetPlayerCheckpoint(playerid, -160.8139, 1151.4126, 19.3189, 7.0);
   }
   else
   {
       SendClientMessage(playerid, COLOR_WHITE, \"Te nem vagy úttisztító!\");
                GetVehiclePos(GetPlayerVehicleID(playerid), x, y, z);
       SetPlayerPos(playerid, x, y, z+1);
   }
}
return 1;
}
if(vehid == 572)
{
    if(oldstate == PLAYER_STATE_ONFOOT && newstate == PLAYER_STATE_DRIVER)
    {
       if(munka[playerid] == 2)
       {
           SendClientMessage(playerid, COLOR_WHITE, \"Menj és vágd le a füvet!\");
           SetPlayerCheckpoint(playerid, 261.2127, 1153.5641, 11.1728, 7.0);
   }
   else
   {
       SendClientMessage(playerid, COLOR_WHITE, \"Te nem vagy fûnyírós!\");
                GetVehiclePos(GetPlayerVehicleID(playerid), x, y, z);
       SetPlayerPos(playerid, x, y, z+1);
   }
}
return 1;
}
return 0;
}

 

public OnPlayerEnterCheckpoint(playerid)
{
// ÚTTISZTÍTÓ MELÓ
if(uttiszt[playerid] == 1)
{
    DisablePlayerCheckpoint(playerid);
    uttiszt[playerid] = 2;
    SetPlayerCheckpoint(playerid, 271.1249, 1147.7886, 10.4579, 7.0);
}
if(uttiszt[playerid] == 2)
{
    DisablePlayerCheckpoint(playerid);
    GivePlayerMoney(playerid, 10);
            SendClientMessage(playerid, COLOR_WHITE, \"Kaptál: 10{228B22}${FFFFFF}-t!\");
SendClientMessage(playerid, COLOR_WHITE, \"Sikeresen megtisztítottad az utat!\");
}
// FÛNYÍRÓ MELÓ
if(funyiro[playerid] == 1)
{
    DisablePlayerCheckpoint(playerid);
    funyiro[playerid] = 2;
    SetPlayerCheckpoint(playerid, -144.6597, 1139.9865, 19.4672, 7.0);
}
if(funyiro[playerid] == 2)
{
    DisablePlayerCheckpoint(playerid);
GivePlayerMoney(playerid, 10);
SendClientMessage(playerid, COLOR_WHITE, \"Kaptál: 10{228B22}${FFFFFF}-t!\");
SendClientMessage(playerid, COLOR_WHITE, \"Sikeresen levágtad a füvet!\");
}
return 1;
}

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal