[SUCHE] Ein Hausmenü

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
  • Hallo alle zusammen,


    Zuerst ich habe die Sufu und im englishen forum gesucht.


    Ich brauche ein Haus menü das man in allen innräumen öffnen kann.
    Ich benutze das Dynamische Haus System von Blackfox.


    Was soll das Haus menü beinhalten?


    Heal
    Armor
    Waffen


    Wäre das zu viel verlangt ich hoffe jemand hat sowas.


    mfg BillyGirl

    Ich habe aus meinen Fehlern gelernt,eine Teilnahme eines Reallife Projektes ist kacke wenn man nicht selbst der Hoster ist. Man kann so leicht ausgenutzt werden.


    Copyright © ->BillyGirl 2010<-

  • Adde Mich einfach in icq kannste Mit PlayerToPoint Machen wenn du es nicht hin bekommst helf ich dir

  • //PUSH//
    //PUSH//

    Ich habe aus meinen Fehlern gelernt,eine Teilnahme eines Reallife Projektes ist kacke wenn man nicht selbst der Hoster ist. Man kann so leicht ausgenutzt werden.


    Copyright © ->BillyGirl 2010<-

  • Also erstell erstmal ein Dialog

    //defines
    #define DIALOG_HAUS_MENU 2020


    //OnPlayerCommand...
    if (strcmp("/Menu", cmdtext, true, 10) == 0)
    {
    ShowPlayerDialog(playerid, DIALOG_HAUS_MENU+1, DIALOG_STYLE_LIST, "Such dir was aus", "Armour\nHeal", "Waehlen", "Abbrechen");
    return 1;
    }


    //OnDialog...
    if(dialogid == DIALOG_HAUS_MENU+1)
    {
    if(response)
    {
    if(listitem == 0)
    {
    SetPlayerArmour(playerid,100);
    }
    if(listitem == 1)
    {
    SetPlayerHealth(playerid, 100);
    }
    }
    return 1;
    }

    So in dem Befehl dann noch eine Abfrage ob er in einem Haus ist, oder nicht.
    Wenn Ja kann man es öffnen wenn nicht dann Fehlermeldung.
    Erstell dazu einfach eine neue Variable, bei /enter =1 _/exit = 0



    Mfg
    Ed_Hardy

  • Em verstehe das ganze net so wo muss denn das hin??


    //OnDialog...
    if(dialogid == DIALOG_HAUS_MENU+1)
    {
    if(response)
    {
    if(listitem == 0)
    {
    SetPlayerArmour(playerid,100);
    }
    if(listitem == 1)
    {
    SetPlayerHealth(playerid, 100);
    }
    }
    return 1;
    }


    Unter:


    public OnPlayerDialog_haus_menu
    ??
    Ist das hier der ganze script fürn hausmenü wo auch nur in einem Haus funtzt??


    mfG
    BillyGirl

    Ich habe aus meinen Fehlern gelernt,eine Teilnahme eines Reallife Projektes ist kacke wenn man nicht selbst der Hoster ist. Man kann so leicht ausgenutzt werden.


    Copyright © ->BillyGirl 2010<-

  • mhh sry em könntest du mal nen Beispiel machen.
    Sodass man es nur im Haus machen kann. ??
    Denke mal dass mann da jeden einzelnen Innenraum durchgehen muss oder geht das auch anders.
    Weil ich denke mal dass es glaub so net geht. Weil dann kann einfach jemand in nen fremdes Haus gehen und /menu eintippen.
    Will das halt so haben das dass nur der Hausbesitzer machen kann ne....


    mfG
    BillyGirl

    Ich habe aus meinen Fehlern gelernt,eine Teilnahme eines Reallife Projektes ist kacke wenn man nicht selbst der Hoster ist. Man kann so leicht ausgenutzt werden.


    Copyright © ->BillyGirl 2010<-

  • Ich weiß ja nicht wie das "Haus System" Aufgebaut ist....
    Also

    new Darf[MAX_PLAYERS];


    //OnPlayerConnect
    Darf[playerid]=0;
    //Befehl
    if (strcmp("/Menu", cmdtext, true, 10) == 0)
    {
    if(Darf[playerid] == 0)return SendClientMessage(playerid, COLOR_RED, "Du darfst das Menu ausserhalb eines Hausses nicht öffnen!");
    ShowPlayerDialog(playerid, DIALOG_HAUS_MENU+1, DIALOG_STYLE_LIST, "Such dir was aus", "Armour\nHeal", "Waehlen", "Abbrechen");
    return 1;
    }

    Dann in deinem "Haus" Script, bei /enter stellst die Variable auf 1, bei /exit wieder auf 0.


    MfG
    Ed_Hardy

  • Also habe das eingefügt nun geht es nirgends weder im Haus noch drausen.


    Ich benutze das Dynamische Haus System von BF.


    mfG
    BillyGirl

    Ich habe aus meinen Fehlern gelernt,eine Teilnahme eines Reallife Projektes ist kacke wenn man nicht selbst der Hoster ist. Man kann so leicht ausgenutzt werden.


    Copyright © ->BillyGirl 2010<-

  • Em meinst du das dynamische System oder dein Code fals du deinen meinst bekomme kein warning noch error. Doch er geht halt garnichtmehr^^

    Ich habe aus meinen Fehlern gelernt,eine Teilnahme eines Reallife Projektes ist kacke wenn man nicht selbst der Hoster ist. Man kann so leicht ausgenutzt werden.


    Copyright © ->BillyGirl 2010<-

  • {
    new idx,cmd[128];
    cmd = strtok(cmdtext,idx);
    if(!strcmp(cmd,"/enter",true))
    {
    for(new i = 0;i<_cache_haus;i++)
    {
    if(HausDaten[i][interior] == 0)continue;
    if(!IsPlayerInRangeOfPoint(playerid,1.5,HausDaten[i][ax],HausDaten[i][ay],HausDaten[i][az]))continue;
    if(HausDaten[i][verschlossen]){SendClientMessage(playerid,0xFF0000FF,"Dieses Haus ist verschlossen!");break;}
    SetPlayerInterior(playerid,HausDaten[i][interior]);
    SetPlayerVirtualWorld(playerid,HausDaten[i][virtual_world]);
    SetPlayerPos(playerid,HausDaten[i][ix],HausDaten[i][iy],HausDaten[i][iz]);
    break;
    }
    return 1;


    if(!strcmp(cmd,"/exit",true))
    {
    for(new i = 0;i<_cache_haus;i++)
    {
    if(HausDaten[i][interior] == 0)continue;
    if(IsPlayerInRangeOfPoint(playerid,5.0,HausDaten[i][ix],HausDaten[i][iy],HausDaten[i][iz]) && GetPlayerInterior(playerid) == HausDaten[i][interior] && GetPlayerVirtualWorld(playerid) == HausDaten[i][virtual_world])
    {
    if(HausDaten[i][verschlossen]){SendClientMessage(playerid,0xFF0000FF,"Dieses Haus ist verschlossen!");break;}
    SetPlayerPos(playerid,HausDaten[i][ax],HausDaten[i][ay],HausDaten[i][az]);
    SetPlayerInterior(playerid,0);
    SetPlayerVirtualWorld(playerid,0);
    break;
    }
    }
    return 1;


    So habe ich es.

    Ich habe aus meinen Fehlern gelernt,eine Teilnahme eines Reallife Projektes ist kacke wenn man nicht selbst der Hoster ist. Man kann so leicht ausgenutzt werden.


    Copyright © ->BillyGirl 2010<-

  • xD Das ist doch vom Dynamischen Haus System, ich denke das Menu geht gar nicht ^^
    Dann musst mir schon das Menu posten.
    Das hier hilft für Exit and Enter



    new Darf[MAX_PLAYERS];


    //OnPlayerConnect
    Darf[playerid]=0; //Er spawnt draußen, somit darf er es ja nicht nutzen daher 0


    //ENTER
    Darf[playerid]=1;//Damit erlaubst du ihm den Befehl drinne im Haus zu benutzen daher 1


    //EXIT
    Darf[playerid]=0;//Damit verbietest du es daher 0


    Mfg
    Ed_Hardy

  • Hier ist der /menu Code fals du den meinst.


    }
    if (strcmp("/menu", cmdtext, true, 10) == 0)
    {
    if(Darf[playerid] == 0)return SendClientMessage(playerid, COLOR_RED, "Du besitzt kein Haus oder bist auserhalb deines Hauses!");
    ShowPlayerDialog(playerid, DIALOG_HAUS_MENU+1, DIALOG_STYLE_LIST, "Haus Menue", "Armour\nHeal\nDeagle", "Waehlen", "Abbrechen");
    return 1;


    Wenn ich die hier einfüge bei /enter und /exit in den comand:


    //ENTER
    Darf[playerid]=1;//Damit erlaubst du ihm den Befehl drinne im Haus zu benutzen daher 1


    //EXIT
    Darf[playerid]=0;//Damit verbietest du es daher 0


    Kommt der Fehler


    D:\Users\Sven\Desktop\Neuer Server\filterscripts\dyn_haus.pwn(203) : error 017: undefined symbol "Darf"
    D:\Users\Sven\Desktop\Neuer Server\filterscripts\dyn_haus.pwn(203) : warning 215: expression has no effect
    D:\Users\Sven\Desktop\Neuer Server\filterscripts\dyn_haus.pwn(203) : error 001: expected token: ";", but found "]"
    D:\Users\Sven\Desktop\Neuer Server\filterscripts\dyn_haus.pwn(203) : error 029: invalid expression, assumed zero
    D:\Users\Sven\Desktop\Neuer Server\filterscripts\dyn_haus.pwn(203) : fatal error 107: too many error messages on one line


    Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    4 Errors.


    mfG
    BillyGirl

    Ich habe aus meinen Fehlern gelernt,eine Teilnahme eines Reallife Projektes ist kacke wenn man nicht selbst der Hoster ist. Man kann so leicht ausgenutzt werden.


    Copyright © ->BillyGirl 2010<-

  • Omg bei mir klappt glaube nie was Score hat so lange gedauert weiste ja und das auch boa. Em ja geht net so ich schreibe jetzt mal rein wie ich es gemacht habe ne.


    Achja das DyHausSystem ist ein FS ne...
    Den Dialog habe ich in meinen Gamemode Script eingefügt und rest halt in FS.


    So Also FS:
    /enter


    new idx,cmd[128];
    cmd = strtok(cmdtext,idx);
    if(!strcmp(cmd,"/enter",true))
    {
    for(new i = 0;i<_cache_haus;i++)
    {
    if(HausDaten[i][interior] == 0)continue;
    if(!IsPlayerInRangeOfPoint(playerid,1.5,HausDaten[i][ax],HausDaten[i][ay],HausDaten[i][az]))continue;
    if(HausDaten[i][verschlossen]){SendClientMessage(playerid,0xFF0000FF,"Dieses Haus ist verschlossen!");break;}
    Darf[playerid]=1;
    SetPlayerInterior(playerid,HausDaten[i][interior]);
    SetPlayerVirtualWorld(playerid,HausDaten[i][virtual_world]);
    SetPlayerPos(playerid,HausDaten[i][ix],HausDaten[i][iy],HausDaten[i][iz]);
    break;
    }
    return 1;
    /exit


    }
    if(!strcmp(cmd,"/exit",true))
    {
    for(new i = 0;i<_cache_haus;i++)
    {
    if(HausDaten[i][interior] == 0)continue;
    if(IsPlayerInRangeOfPoint(playerid,5.0,HausDaten[i][ix],HausDaten[i][iy],HausDaten[i][iz]) && GetPlayerInterior(playerid) == HausDaten[i][interior] && GetPlayerVirtualWorld(playerid) == HausDaten[i][virtual_world])
    {
    if(HausDaten[i][verschlossen]){SendClientMessage(playerid,0xFF0000FF,"Dieses Haus ist verschlossen!");break;}
    SetPlayerPos(playerid,HausDaten[i][ax],HausDaten[i][ay],HausDaten[i][az]);
    Darf[playerid]=0;
    SetPlayerInterior(playerid,0);
    SetPlayerVirtualWorld(playerid,0);
    break;
    }
    }
    return 1;


    Gamemode:
    Dialog


    #define DIALOG_HAUS_MENU 2020


    }
    if (strcmp("/menu", cmdtext, true, 10) == 0)
    {
    if(Darf[playerid] == 0)return SendClientMessage(playerid, COLOR_RED, "Du besitzt kein Haus oder bist auserhalb deines Hauses!");
    ShowPlayerDialog(playerid, DIALOG_HAUS_MENU+1, DIALOG_STYLE_LIST, "Haus Menue", "Armour\nHeal\nDeagle", "Waehlen", "Abbrechen");
    return 1;


    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    if(dialogid == DIALOG_HAUS_MENU+1)
    {
    if(response)
    {
    if(listitem == 0)
    {
    SetPlayerArmour(playerid,100);
    }
    if(listitem == 1)
    {
    SetPlayerHealth(playerid, 100);
    }
    if(listitem == 2)
    {
    GivePlayerWeapon(playerid, 24, 2000);


    }
    }
    }
    }


    So...


    mfG
    BillyGirl

    Ich habe aus meinen Fehlern gelernt,eine Teilnahme eines Reallife Projektes ist kacke wenn man nicht selbst der Hoster ist. Man kann so leicht ausgenutzt werden.


    Copyright © ->BillyGirl 2010<-

  • Jaa, xD
    Also wo liegt jetzt genau das Problem ?
    Dieses new was ich oben breits schrieb musst du auch noch ins FS packen.
    Bei dem Dialog seh ich jetzt kein Fehler.... ?
    Also worin liegt jetzt das Problem hmm?


    MfG
    Ed_Hardy
    Ps. Vieleicht schaue ich gleich nochmal rein, ansonsten nachher > pennen

  • Ja das Problem ist ich kann das Menü weder im Haus noch auserhalb öffnen auserhalb ist ja ok aber drinne muss es ja auf gehen machts aber nicht...


    mfg
    BillyGirl
    ps. Bin Pennen xD wir schreiben uns morgen weiter xD oh mann^^

    Ich habe aus meinen Fehlern gelernt,eine Teilnahme eines Reallife Projektes ist kacke wenn man nicht selbst der Hoster ist. Man kann so leicht ausgenutzt werden.


    Copyright © ->BillyGirl 2010<-

  • Ich teste es gleich mal, danach gebe ich ein Bericht ^^ da ich grade gar kein Fehler erkenne.


    MfG
    Ed_Hardy


    EDIT: Jetzt wo ich genauer hingucke -.- xD
    Alsooo...


    Befehl


    if (strcmp("/menu", cmdtext, true, 10) == 0)
    {
    if(Darf[playerid] == 0)return SendClientMessage(playerid, COLOR_RED, "Du besitzt kein Haus oder bist auserhalb deines Hauses!");
    ShowPlayerDialog(playerid, DIALOG_HAUS_MENU+1, DIALOG_STYLE_LIST, "Haus Menue", "Armour\nHeal\nDeagle", "Waehlen", "Abbrechen");
    return 1;
    }//Diese Klammer hat gefehlt


    Nur das brauchste jetzt verändern
    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    if(dialogid == DIALOG_HAUS_MENU+1)
    {
    if(response)
    {
    if(listitem == 0)
    {
    SetPlayerArmour(playerid,100);
    }
    if(listitem == 1)
    {
    SetPlayerHealth(playerid, 100);
    }
    if(listitem == 2)
    {
    GivePlayerWeapon(playerid, 24, 2000);
    }
    }
    }
    return 1;
    }


    Nun müsste es gehen...xD
    Bei mir aufn Server war es erfolgreich.

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen