Geschenk Script funkt ned.. bzw teilweise

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Jo, das Geschenk Script von Theo Lightz funktioniert nicht bzw nur teilweise,
    wenn man /ginfo öffnet öffnet sich ein Dialog den man aber nicht weiter benutzen kann..


    Pawno Filterscript:(Öffnen)


    [/expander]
    /*


    Geschenke Event system.



    */


    #include <a_samp>
    #include <ocmd>


    #define MIN_GELD 1 //Wie viel Geld er beim finden minimum bekommen soll
    #define MAX_GELD 9238//Wie viel er maximum bekommen kann




    #define MAX_GESCHENKE 20
    enum Geschenke
    {
    Float:x,
    Float:y,
    Float:z,
    Gefunden,
    Text3D:Label,
    finder[24],
    OB
    }


    new g[MAX_GESCHENKE][Geschenke];


    new Max_G = 0;
    new Gefundene = 0;
    new hut[MAX_PLAYERS];
    new Geschenk[MAX_PLAYERS];
    new gAn = 0;


    public OnFilterScriptInit()
    {
    print("\n--------------------------------------");
    print(" Geschenke Event geladen /cgeschenk!");
    print("--------------------------------------\n");
    return 1;
    }


    public OnFilterScriptExit()
    {
    for(new i = 0; i < MAX_GESCHENKE ;i++)
    {
    DestroyObject(g[i][OB]);
    Delete3DTextLabel(g[i][Label]);
    }
    return 1;
    }





    ocmd:cgeschenk(playerid)
    {
    if(IsPlayerAdmin(playerid))
    {
    Max_G += 1;
    new Float:p[3];
    GetPlayerPos(playerid,p[0],p[1],p[2]);
    g[Max_G][x] = p[0];
    g[Max_G][y] = p[1];
    g[Max_G][z] = p[2];
    g[Max_G][Gefunden] = 0;
    new randomg[][5] =
    {
    {19054},
    {19055},
    {19056},
    {19057},
    {19058}
    };
    new rand = random(sizeof(randomg));
    g[Max_G][OB] = CreateObject(randomg[rand][0],p[0],p[1],p[2]-0.2,0,0,0);
    SetPlayerPos(playerid,p[0],p[1],p[2]+2);
    printf("Geschenk: %d",Max_G);
    printf("Geschenks %d",MAX_GESCHENKE);
    }
    return 1;
    }


    ocmd:findgeschenk(playerid,params[])
    {
    if(gAn == 1)
    {
    for(new i = 0; i < MAX_GESCHENKE; i++)
    {
    new name[24],string[128];
    GetPlayerName(playerid, name, 24);
    if(IsPlayerInRangeOfPoint(playerid,4,g[i][x],g[i][y],g[i][z]))
    {
    if(g[i][Gefunden] == 0)
    {
    Gefundene += 1;
    if(Gefundene == 1)
    {
    format(string,128,"Geschenke Event: **** %s [ID:%d] hat das erste Geschenk gefunden!",name,playerid);
    SendClientMessageToAll(0xFF00CDFF,string);
    }
    format(string,128,"Dieses Geschenk wurde von %s Gefunden",name);
    g[i][Label] = Create3DTextLabel(string,0x00FF46FF,g[i][x],g[i][y],g[i][z],15,0,0);
    GameTextForPlayer(playerid,"~w~G~r~e~w~s~r~c~r~h~w~e~r~n~r~k",3000,1);
    new var = Random(1, 4);
    Geschenk[playerid] = var;
    if(Geschenk[playerid] == 1)
    {
    new cash = Random(MIN_GELD, MAX_GELD);
    GivePlayerMoney(playerid, cash);
    format(string,128,"Im Geschenk waren %d $",cash);
    SendClientMessage(playerid,0x00FF46FF,string);
    if(hut[playerid] == 0)
    {
    SendClientMessage(playerid,0x00FF46FF,"Und ein Santa Klaus Hut.");
    SetPlayerAttachedObject(playerid,0,19064,2,0.116999,0.014000,0.000000,80.299995,104.499984,1.700000,1.000000,1.000000,1.000000);
    hut[playerid] = 1;
    }
    return 1;
    }
    else if(Geschenk[playerid] == 2)
    {
    SendClientMessage(playerid,0xFF002DFF,"Du hattest kein Glück! In dem Geschenk war eine Stinkige Socke!");
    if(hut[playerid] == 0)
    {
    SendClientMessage(playerid,0x00FF46FF,"Aber in der Socke war ein Hut!");
    SetPlayerAttachedObject(playerid,0,19064,2,0.116999,0.014000,0.000000,80.299995,104.499984,1.700000,1.000000,1.000000,1.000000);
    hut[playerid] = 1;


    }
    return 1;
    }
    else if(Geschenk[playerid] == 3)
    {
    SendClientMessage(playerid,0xFF002DFF,"Du hattest kein Glück! Jemand hat hier ein leeres Geschenk hingestellt");
    if(hut[playerid] == 0)
    {
    SendClientMessage(playerid,0x00FF46FF,"Aber du nimmst den Hut der dran gebunden ist.");
    SetPlayerAttachedObject(playerid,0,19064,2,0.116999,0.014000,0.000000,80.299995,104.499984,1.700000,1.000000,1.000000,1.000000);
    hut[playerid] = 1;
    }
    return 1;
    }
    return g[i][Gefunden] = 1;
    }
    else if(g[i][Gefunden] == 1)
    {
    SendClientMessage(playerid,0xFF002DFF,"Dieses Geschenk wurde schon gefunden!");
    return 1;
    }
    return 1;
    }
    }
    }
    else
    {
    SendClientMessage(playerid,0xFF002DFF,"Das Geschenke Event hat noch nicht angefangen!");
    }
    return 1;
    }


    ocmd:ginfo(playerid)
    {
    if(IsPlayerAdmin(playerid))
    {
    if(gAn == 0)
    {
    ShowPlayerDialog(playerid,5555,DIALOG_STYLE_LIST,"Geschenke-Event","{FFFFFF}Geschenke Anzahl\n{FFFFFF}Status {FFFFFF}[{FF0000}Off{FFFFFF}]","Okey","Close");
    }
    else if(gAn == 1)
    {
    ShowPlayerDialog(playerid,5555,DIALOG_STYLE_LIST,"Geschenke-Event","{FFFFFF}Geschenke Anzahl\n{FFFFFF}Status {FFFFFF}[{00FF50}On{FFFFFF}]","Okey","Close");
    }
    }
    return 1;
    }




    ocmd:ghelp(playerid)
    {
    SendClientMessage(playerid,0x00FF46FF,"GESCHENKE-EVENT: /findgeschenk Um ein Geschenk zu öffnen!");
    if(IsPlayerAdmin(playerid)){SendClientMessage(playerid,0x00FF46FF,"Admin: /ginfo /cgeschenk");}
    return 1;
    }



    public OnPlayerSpawn(playerid)
    {
    SendClientMessage(playerid,-1,"{FF9600}GESCHENKE-EVENT: {FFFFFF}/findgeschenk Um ein Geschenk zu öffnen!");
    return 1;
    }



    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    if(dialogid == 5555)
    {
    new string[200];
    if(response)
    {
    if(listitem == 0)
    {
    format(string,200,"{FFFFFF}Es befinden sich {FFFF00}%d {FFFFFF}Geschenke auf dem Server.\n{FFFFFF}Davon wurden {FFFF00}%d {FFFFFF}Gefunden.\n{FF00CD}Möchtest du das den Spielern Mitteilen?",Max_G,Gefundene);
    ShowPlayerDialog(playerid,6666,DIALOG_STYLE_MSGBOX,"Geschenke-Event",string,"Senden","Close");
    }
    if(listitem == 1)
    {
    if(gAn == 0)
    {
    gAn = 1;
    ShowPlayerDialog(playerid,5555,DIALOG_STYLE_LIST,"Geschenke-Event","{FFFFFF}Geschenke Anzahl\n{FFFFFF}Status {FFFFFF}[{00FF50}On{FFFFFF}]","Okey","Close");
    format(string,128,"Es befinden sich {FFFF00}%d {FFFFFF}Geschenke auf dem Server!",Max_G);
    SendClientMessageToAll(0xFF00CDFF,"||=========| Geschenke-Event |=========||");
    SendClientMessageToAll(-1,string);
    SendClientMessageToAll(0xFF9600FF,"INFO: Du kannst sie mit /findgeschenk Öffnen!");
    SendClientMessageToAll(0xFF00CDFF,"||=========| Geschenke-Event |=========||");
    }
    if(gAn == 1)
    {
    gAn = 0;
    ShowPlayerDialog(playerid,5555,DIALOG_STYLE_LIST,"Geschenke-Event","{FFFFFF}Geschenke Anzahl\n{FFFFFF}Status {FFFFFF}[{FF0000}Off{FFFFFF}]","Okey","Close");
    format(string,128,"Das Geschenke Event ist nun vorbei, es wurden {FFFF00}%d {FFFFFF}Geschenke gefunden!",Gefundene);
    SendClientMessageToAll(0xFF00CDFF,"||=========| Geschenke-Event |=========||");
    SendClientMessageToAll(-1,string);
    SendClientMessageToAll(0xFF00CDFF,"||=========| Geschenke-Event |=========||");
    }
    }
    }
    return 1;
    }
    if(dialogid == 6666)
    {
    if(response == 1)
    {
    new string[128];
    format(string,128,"Es befinden sich {FFFF00}%d {FFFFFF}Geschenke auf dem Server!",Max_G);
    SendClientMessageToAll(0xFF00CDFF,"||=========| Geschenke-Event |=========||");
    SendClientMessageToAll(-1,string);
    format(string,128,"{FFFFFF}Davon wurden {FFFF00}%d {FFFFFF}Gefunden.",Gefundene);
    SendClientMessageToAll(-1,string);
    SendClientMessageToAll(0xFF9600FF,"INFO: Du kannst sie mit /findgeschenk Öffnen!");
    SendClientMessageToAll(0xFF00CDFF,"||=========| Geschenke-Event |=========||");
    return 1;
    }
    }
    return 1;
    }


    stock Random(min, max)
    {
    return random(max - min) + min;
    }




    [/expander]