Beiträge von Ben-Projects


    stock stopround()
    {
    for(new i; i<20; i++)
    {
    DestroyVehicle(copcar[i]);
    DestroyVehicle(robbercar[i]);
    }

    for(new i2; i2<20; i2++)
    {
    if(i2 != INVALID_PLAYER_ID) {
    if(!IsPlayerConnected(i2) || SpielerInfo[i2][afk] == 1 || IsPlayerNPC(i2)) continue;
    SpawnPlayer(i2);
    SetPlayerSkin(i2, SpielerInfo[i2][skin]);
    isRobber[i2] = 0;
    isInRound[i2] = 0;
    ResetPlayerWeapons(i2);
    SetPlayerHealth(i2, 100.0);
    SetPlayerArmour(i2, 0.0);
    }
    }

    sendszmsg2();
    return 1;
    }


    Code
    [22:08:09] [debug] Run time error 4: "Array index out of bounds"
    [22:08:09] [debug]  Attempted to read/write array element at index 2 in array of size 2
    [22:08:09] [debug] AMX backtrace:
    [22:08:09] [debug] #0 00007ebc in ?? (0) from U2.amx
    [22:08:09] [debug] #1 00002924 in public ocmd_rundebeenden (0, 827020) from U2.amx
    [22:08:09] [debug] #2 native CallLocalFunction () from samp-server.exe
    [22:08:09] [debug] #3 000004a4 in public OnPlayerCommandText (0, 826964) from U2.amx


    ocmd:rundestarten(playerid,params[])
    {
    if(isRound == 1) return SendChatInfo(playerid, "Es läuft bereits eine Runde. Beende diese mit /rundebeenden");
    if(checkenoughplayers() == 0) return SendChatInfo(playerid, "Es sind nicht genug Spieler anwesend und bereit.");
    new target = getrandomplayer();
    isRobber[target] = 1;
    new szid = 0;
    robbercar[0] = CreateVehicle(SzenarioInfo[szid][carid], SzenarioInfo[szid][sX][0], SzenarioInfo[szid][sZ][0], SzenarioInfo[szid][sY][0], SzenarioInfo[szid][sR][0], 3, 3, -1);
    SetPlayerInterior(playerid, 0);
    SetPlayerPos(playerid, SzenarioInfo[szid][sX][0], SzenarioInfo[szid][sZ][0], SzenarioInfo[szid][sY][0]);
    PutPlayerInVehicle(playerid, robbercar[0], 0);
    setcops(szid);
    sendszmsg(szid);
    return 1;
    }




    stock setcops(szid)
    {
    new counter = 1;
    for(new i; i<MAX_PLAYERS; i++)
    {
    if(SpielerInfo[i][afk] == 1) continue;
    if(IsPlayerOnDesktop(i)) continue;
    if(isRobber[i] == 1) continue;
    copcar[counter] = CreateVehicle(SpielerInfo[i][carid], SzenarioInfo[szid][sX][counter], SzenarioInfo[szid][sZ][counter], SzenarioInfo[szid][sY][counter], SzenarioInfo[szid][sR][counter], 3, 3, -1);
    SetPlayerInterior(i, 0);
    SetPlayerPos(i, SzenarioInfo[szid][sX][counter], SzenarioInfo[szid][sZ][counter], SzenarioInfo[szid][sY][counter]);
    PutPlayerInVehicle(i, copcar[counter], 0);
    counter++;
    }
    return 1;
    }




    stock sendszmsg(szid)
    {
    new msg[144];
    format(msg, sizeof(msg), "{dea045}Szenario{F2F2F2}: Bei Szenario handelt es sich um ein/e/n {dea045}%s{F2F2F2}.", SzenarioInfo[szid][SzName]);
    SendClientMessageToAll(Hellgrau, msg);
    return 1;
    }


    stock checkenoughplayers()
    {
    new counter;
    for(new i; i<MAX_PLAYERS; i++)
    {
    if(!IsPlayerConnected(i)) continue;
    if(SpielerInfo[i][afk] == 1) continue;
    //if(IsPlayerOnDesktop(i)) continue;
    counter++;
    }
    printf("%i",counter);
    if(counter > 1) { return 1; } else { return 0; }
    }



    Wo liegt der Fehler?

    Meine Frage: Wie kann ich es machen, ganz viele Variablen unter zu speichern z.b.s.


    Ich habe eine Fraktion mit 5 Unterschiedlichen Spawnpunkten, diese sollen dann über z.b.s ein RANDOM


    zugewiesen werden, sprich der Fraktions-Enum:



    enum Fraktion{
    ID,
    Name,
    Gehalt,
    ...
    }


    new FraktionsInfo[100][Fraktion];


    Und wie binde ich dort die unterschiedlichen Spawnpunkte am besten ein ?

    Wenn ich /label mache, sieht jeder mein Label, aber die Label der anderen werden gelöscht
    und wenn ein anderer /label macht, sieht Jeder sein Label, verliert aber sein eigenes Label.

    Hallo zusammen,


    ich versuche ein 3D Label zu machen, was über dem Spieler Kopf angezeigt wird,
    aber immer beim erstellen des Labels, werden alle Labels der anderen Spieler gelöscht...


    PS: Es gibt keine Errors oder Warnings.




    Code
    new Text3D:label[MAX_PLAYERS];


    Code
    ocmd:label(playerid,params[])
    {
        for(new i; i<MAX_PLAYERS; i++)
    	{
    		if(!IsPlayerConnected(i)) continue;
    			CreateICName(i);
    	}
    	CreateICName(playerid);
    	return 1;
    }



    Code
    stock CreateICName(playerid)
    {
    	Delete3DTextLabel(label[playerid]);
    	new nametag[MAX_PLAYERS];
    	format(nametag, 50, "%s ((ID: %i))",CharInfo[SpielerInfo[playerid][achar]][charname], playerid);
        label[playerid] = Create3DTextLabel(nametag, Hellgrau, 30.0, 40.0, 50.0, 15.0, 0);
        Attach3DTextLabelToPlayer(label[playerid], playerid, 0.0, 0.0, 0.2);
        return 1;
    }

    Wo ist das genaue Probleme ? Sollte alles so laufen.

    Hey Leute. Hat jemand eine Idee wie man es sinnvoll anstellt, wenn ein Business "components" generieren soll? (Öl Rafinerie generiert Öl als Spitze der wirtschaftskette)
    Ich denke mal man braucht einen Timer, fragt dann ab wieviel components das Business hat, addiert etwas dazu und speichert? Timer unter gamemodeinit?

    Wenn das direkt beginnen soll, wenn der Server startet, was logisch wäre, dann ja.

    C:\Users\Medion\Desktop\Daten Medion\GTA SA Datein\GTA Scripts\German-Next-Era-Life---v2.5\German-Next-Era-Life---v2.5\German Next Era Life - v2.5\gamemodes\GNE.pwn(52094) : error 001: expected token: ")", but found "return"C:\Users\Medion\Desktop\Daten Medion\GTA SA Datein\GTA Scripts\German-Next-Era-Life---v2.5\German-Next-Era-Life---v2.5\German Next Era Life - v2.5\gamemodes\GNE.pwn(52108) : error 001: expected token: ")", but found "return"


    Warum o.O?

    Welche davon ist den die Zeile 52108 und 52094 ?

    Okey, ich glaube ich habe grob verstanden, wie das funktionieren soll,
    aber ein Beispiel von dir wäre wundervoll. Ich gebe dir zum Beispiel
    6 Angaben, die ich in zwei spalten speichern möchte:



    Fahrzeug-ID Marke Preis
    411
    560
    Porsche
    Audi
    18000
    60000


    Und das soll hat für alle SA:MP Fahrzeuge so laufen, was es echt viel macht.
    Zudem verstehe ich noch nicht, wie ich eine solch "normalisierte" Sache in
    Pawno auslesen und in einen Enum speichern soll.


    Aber danke schon mal @Jeffry

    Guten Tag zusammen,


    ich habe folgendes Problem: Ich möchte einen Enum speichern, sprich eine
    liste mit mehreren Werten, denen auch noch weiteren Werten zugeteilt werden
    können. Doch diese liste ist enorm lang und umfasst alle Fahrzeuge in SA:MP
    und ich möchte nicht über 150 Spalten in MYSQL dafür anlegen, habt ihr eine
    Idee wie das gehen soll ?

    Also so habe ich es jetzt.

    So sollte es jetzt funktionieren. Schon ausprobiert ?

    Hallo,


    Ich habe ein Problem wen ich /motor mache geht er nicht an wen man nochmal /motor eingibt sollte das Licht und der Motor ausgehn.
    Wen man /licht macht geht es auch nicht an warum?

    Dein Fehler:
    if(engine == VEHICLE_PARAMS_ON)
    {
    GetVehicleParamsEx(vid, engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(vid, VEHICLE_PARAMS_ON, lights,alarm,doors,bonnet,boot,objective);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "Du stellst den Motor ab.");
    }
    else
    {
    GetVehicleParamsEx(vid, engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(vid, engine,VEHICLE_PARAMS_OFF,alarm,doors,bonnet,boot,objective);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "Du betätigst die Zündung.");
    }



    Korrektur:
    if(engine == VEHICLE_PARAMS_ON)
    {
    GetVehicleParamsEx(vid, engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(vid, VEHICLE_PARAMS_OFF, VEHICLE_PARAMS_OFF,alarm,doors,bonnet,boot,objective);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "Du stellst den Motor ab.");
    }
    else
    {
    GetVehicleParamsEx(vid, engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(vid, engine,VEHICLE_PARAMS_ON,alarm,doors,bonnet,boot,objective);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "Du betätigst die Zündung.");
    }


    Erklärung:
    Du hast abgefragt ob der Motor an ist und wenn ja, hast du ihn wieder angemacht. Somit kann er
    auch nicht ausgehen. Das gleiche hast du auch beim Licht, somit musst du es auch dort überarbeiten.