Beiträge von Dudalus

    Hallo


    Bei Neos Lösung kommen noch die Fehler:


    C:\Users\Simon\Desktop\dudalus232.pwn(8945) : error 032: array index out of bounds (variable "Typen")
    C:\Users\Simon\Desktop\dudalus232.pwn(8946) : error 032: array index out of bounds (variable "Typen")
    C:\Users\Simon\Desktop\dudalus232.pwn(8947) : error 032: array index out of bounds (variable "Typen")
    C:\Users\Simon\Desktop\dudalus232.pwn(8948) : error 032: array index out of bounds (variable "Typen")
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    4 Errors.


    enum haus_typ
    {
    interior,
    Float:haus_x,
    Float:haus_y,
    Float:haus_z
    }


    MfG dUDA

    Hallo


    Ich habe einen Command von Strcmp in DCMD umgeschrieben und nun habe ich ein kleines Problem. Ich kann mit einer Nummer ein 3er Koordinatenpaar aus einem Arrey auswählen und diese abspeichern. Ich will also die Zahl die man eingibt ins Arrey eingeben:


    C:\Users\Simon\Desktop\dudalus232.pwn(8944) : error 032: array index out of bounds (variable "Typen")
    C:\Users\Simon\Desktop\dudalus232.pwn(8945) : error 032: array index out of bounds (variable "Typen")
    C:\Users\Simon\Desktop\dudalus232.pwn(8946) : error 032: array index out of bounds (variable "Typen")
    C:\Users\Simon\Desktop\dudalus232.pwn(8947) : error 032: array index out of bounds (variable "Typen")
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    4 Errors.


    new Typen[][haus_typ] =
    {
    {1,223.043991,1289.259888,1082.199951}, //Schlecht
    {2,225.756989,1240.000000,1082.149902}, //Schlecht
    {3,235.508994,1189.169897,1080.339966}, //Gut
    {7,225.630997,1022.479980,1084.069946} //Sehr Gut
    };


    dcmd_chaus(playerid,params[])
    {
    new spielzeit, vworld;
    if(sscanf(params, "dddd",kosten,spielzeit,haus,vworld)) SendClientMessage(playerid, COLOR_WHITE,"Verwendung: /chaus [Kosten] [Spielzeit in h] [Haus] [Virtual World]");
    else if(!IsPlayerAdmin(playerid)) return 1;
    else if(spielzeit < 0) return SendClientMessage(playerid,COLOR_GREY,"Die Spielzeit muss minimal bei 0 Stunden liegen!");
    else
    {
    new string[256];
    new Float:nowPos[3];
    new slotid = initHSlot();
    new fullid = (slotid==-1) ? (_cache_haus) : (slotid);
    GetPlayerPos(playerid,nowPos[0],nowPos[1],nowPos[2]);
    HausDaten[fullid][ax] = nowPos[0];
    HausDaten[fullid][ay] = nowPos[1];
    HausDaten[fullid][az] = nowPos[2];
    HausDaten[fullid][play_time] = spielzeit;
    HausDaten[fullid][kosten] = kosten;
    HausDaten[fullid][interior] = Typen[haus][interior];
    HausDaten[fullid][ix] = Typen[haus][haus_x];
    HausDaten[fullid][iy] = Typen[haus][haus_y];
    HausDaten[fullid][iz] = Typen[haus][haus_z];
    HausDaten[fullid][virtual_world] = vworld;
    HausDaten[fullid][verschlossen] = 1;
    HausDaten[fullid][nicht_zum_kauf] = 0;
    strmid(HausDaten[fullid][Besitzer],"Keiner",0,MAX_PLAYER_NAME,MAX_PLAYER_NAME);
    HausDaten[fullid][pickid] = CreatePickup(1273,1,nowPos[0],nowPos[1],nowPos[2],0);
    format(string,sizeof string,"Besitzer : Keiner\nScore : %d\nKosten : %d$",spielzeit,kosten);
    HausDaten[fullid][lbl_haus] = Create3DTextLabel(string,0x00FF00FF,nowPos[0],nowPos[1],nowPos[2],10.0,0,0);
    HausDaten[fullid][icon_id] = bCreateMapIcon(nowPos[0],nowPos[1],_,31,0);
    if(slotid==-1)_cache_haus++;
    SaveHCache();
    }
    return 1;
    }


    Ich habe jedoch noch eine andere Frage:
    Wenn ich mit sscanf und ohne else if Schleifen und am Ende mit einer else Schleife arbeite, kommt bei jedem Commands den ich eingebe die sscanf-Zeile. Wie kann ich da sumgehen, damit ich die else-if Schleifen und logischerweise auch das else nicht benutzen muss ?


    MfG dUDA

    Die beiden unteren Bilder finde ich sehr schön, erinntert mich an die alten Zeiten, wo wir noch wie gestörte Need for Speed Hot Persuit gezockt haben. Strahlt so etwas Edles aus ;)


    dUDA

    Hallo


    Seit gestern kackt etwa alle 10 Minuten nach Spielbeginn mein Mafia 2 mit der Meldung "Programm funktioniert nicht mehr". Neustes DirectX ist installiert und der PC läuft noch nicht lange, ich vermute Hitzeprobleme. Hat jemand auch so ein Problem ?


    MfG dUDA

    Hallo


    Ich wollte fragen, wie ich mit fwrite in eine Date reinschreiben kann, wo lauter einzelne Werte stehen. Die Datei sollte nach dem folgenden Schema aussehen:


    4531
    9843
    1178
    4913


    Und ich will dann einen Random Wert reinschreiben, sagen wir 1267. Bei einem bestimmten Command soll dieser Wert reingeschrieben werden. Zudem soll das Ganze bei OnGameModeInit geladen werden. Ich wäre extrem fest dankbar, da ich wegen diesem Punkt nich weiterkomme.


    MfG dUDA
    Bei Unklarheiten könnt ihr mich per ICQ fragen ;)

    Hallo


    "d" ist ja nur für eine Zahl und nicht den Spieler-String. Hie rmuss/sollte man ja "u" nehmen ? Lasse mich jederzeit belehren. Hier noch ein CMD als Beweis ;)


    dcmd_raus(playerid,params[])
    {
    new id;
    if (sscanf(params, "u", id)) return SendClientMessage(playerid, COLOR_WHITE, "Verwendung: /raus [ID]");
    else if(id == INVALID_PLAYER_ID || playerid == id ||IsPlayerNPC(id)) SendClientMessage(playerid, COLOR_GREY, "Dieser Spieler kann nicht erreicht werden");
    else if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,COLOR_GREY,"Du bist in keinem Fahrzeug");
    else if(PlayerInfo[id][pAdmin] == 1337) return SendClientMessage(playerid,COLOR_GREY,"Befehl an dieser Person nicht ausführbar");
    else if(GetPlayerVehicleSeat(playerid) != 0) return SendClientMessage(playerid,COLOR_GREY,"Um jemanden rauszuwerfen musst du dich auf dem Fahrersitz befinden");
    else
    {
    RemovePlayerFromVehicle(id);
    }
    return 1;
    }

    Hallo


    Wegen der Kanonen. In einer frühen Mission muss man ja den Mann im Haus die Kartons wegrauben, wo im Ergeschosss beim Eingang die Kanone steht und man in den 1.Stock die Kisten holen muss. Würde die nicht passen, sofern es sie überhaupt als Einzelobjekt gibt ?


    7/10
    Grund: Mir fehlt das gewisse Etwas. Zudem sieht es recht leer und kahl aus. Mir Karton und ner Minigun wäre zudem sowas sehr funbringend. Sonst aber sher schön. Bin erstaunt, dass man mit den GTA Objektn sowas machen kann.
    MfG dUDA

    Hallo


    if(sscanf(params, "d", Player)) { //das "d" steht für eine Zahl / Playerid würde ich ein "s" schreiben könnte man das mit dem Player Namen machen anstatt der ID


    Du meinst wohl eher ein "u" ?


    MfG dUDA

    Hallo


    Naja, wie soll ich sagen, ich habe da ein kleines aber feines Problem:
    Wenn ich als Taxifahrer jmd /tarif Werwolf 1 eingebe, sollte es dem Spieler Werwolf alle 10 Sekunden 1 Dollar abziehen. Nun, der Betrag verdoppelt sich aber nach jeden 10 Sekunden, also 1, 2, 4, 8, 16 ;)


    public taxitimer(playerid)
    {
    new taxigeld = PlayerInfo[playerid][pTaxigeld];
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i) && !IsPlayerNPC(i))
    {
    if(PlayerInfo[playerid][pTaxinummer] == PlayerInfo[i][pTelefonnummer])
    {
    if(PlayerInfo[playerid][pTaxigeld] != 0)
    {
    JB_GivePlayerMoney(playerid, taxigeld);
    JB_GivePlayerMoney(i, -taxigeld);
    geldtaxitimer = SetTimerEx("taxitimer", 10000,1,"d",playerid);
    }
    }
    }
    }
    return 1;
    }


    dcmd_tarif(playerid,params[])
    {
    new id, geld;
    if(sscanf(params, "ud", id, geld)) return SendClientMessage(playerid, COLOR_WHITE, "Verwendung: /tarif [ID] [Betrag]");
    else if(GetPlayerVehicleID(playerid) != GetPlayerVehicleID(id)) return SendClientMessage(playerid,COLOR_GREY,"Der Kunde ist nicht im Taxi");
    else if(geld > 100) return SendClientMessage(playerid, COLOR_GREY, "Du Abzocker");
    else
    {
    new string[128];
    new taxinr = PlayerInfo[id][pTelefonnummer];
    format(string,128,"Du bezahlst jetzt alle 10 Sekunden %d Dollar",geld);
    SendClientMessage(id,COLOR_GREEN,string);
    PlayerInfo[playerid][pTaxigeld] = geld;
    PlayerInfo[playerid][pTaxinummer] = taxinr ;
    geldtaxitimer = SetTimerEx("taxitimer", 10000,false,"d",playerid);
    }
    return 1;
    }


    MfG dUDA

    Hallo


    Vielen vielen Dank, da shat mir sehr geholfen (Vorallem Goldkiller und BFX). Ich kenn mich eben mit PVar nicht aus und habe auch nicht soooo die Lust es zu lernen/anzuschauen ;)


    dUDA


    //Edit
    Als Übergangslösung:
    Wie gross muss der MS-Intervall Unterschied sein, dass sich zB 2 1 Sekunden Timer nicht scheiden ? Muss der grösser als 200MS sein ?