[SAMMELTHREAD] Kleine Scripting Fragen

Dein Problem konnte durch einen User gelöst werden? Bedank dich bei ihm indem du seinen Beitrag als Hilfreich markierst sowie einen Daumen oben dalässt
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
  • Dann bekomme ich diese Errors
    C:\Users\Tobias\Desktop\Neues Script\gamemodes\script.pwn(125) : warning 201: redefinition of constant/macro (symbol "playerInfo")
    C:\Users\Tobias\Desktop\Neues Script\gamemodes\script.pwn(130) : error 021: symbol already defined: "Money"
    C:\Users\Tobias\Desktop\Neues Script\gamemodes\script.pwn(159) : error 021: symbol already defined: "sInfo"
    C:\Users\Tobias\Desktop\Neues Script\gamemodes\script.pwn(1576) : error 032: array index out of bounds (variable "sInfo")
    C:\Users\Tobias\Desktop\Neues Script\gamemodes\script.pwn(1594) : error 032: array index out of bounds (variable "sInfo")



    Include


  • C
    //Spieler enum
    enum playerInfo{
    	Money
    };
    new sInfo[MAX_PLAYERS][playerInfo];

    So.
    Außerdem musst du das dann aus deinem Gamemode entfernen, weil du das ja jetzt in deiner Include hast. Ansonsten wäre es 2x da, und das geht ja nicht.

  • Wenn du deine Include so hast:


    dann kannst du die Funktionen (sowie sInfo) ebenfalls in deinem Gamemode verwenden, weil das oben im Gamemode ja mit eingebunden wird.
    Das Enum playerInfo und die Deklaration sInfo musst du aus dem normalen Gamemode entfernen, weil du es ja bereits in deiner Include stehen hast.

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Ok das Funktioniert es wird geladen geprintet alles Richtig aber wenn ich habe ein Befehl gemacht wo ich den Spieler 500 Abziehe ingame geht das aber Geprintet wird das gleiche wie vorher


    Code
    stock my_GivePlayerMoney(playerid, betrag)
    {
        isInfo[playerid][Money] += betrag;
        printf("%d",isInfo[playerid][Money]);
    return GivePlayerMoney(playerid, betrag);
    }
  • m_GivePlayerMoney(playerid,-500);
    Wenn du das so schreibst, dann müsste von Money 500$ runter gehen. Wie sieht das bei dir denn aus? Also, was steht in Money für ein Wert, was tippst du als Zahl ein (was abgezogen werden soll) und was wird dann geprintet? :D

  • Beitrag von reaL. ()

    Dieser Beitrag wurde vom Autor aus folgendem Grund gelöscht: Funktioniert jetze ().
  • Du musst auch die gehookte Funktion anwenden:


    C
    ocmd:money(playerid)
    {
    	m_GivePlayerMoney(playerid,-500);
    	return 1;
    }

    Musst du aufpassen. Ab jetzt musst du immer m_GivePlayerMoney verwenden, damit das in der Variable auch geändert wird.

  • Nach dem Prinzip:
    new string[256];
    if(SpielerInfo[playerid][Level] >= 1)
    {
    format(string, sizeof(string), "%s/help, /info\n", string);
    }
    if(SpielerInfo[playerid][Level] >= 2)
    {
    format(string, sizeof(string), "%s/jail, /kick\n", string);
    }
    if(SpielerInfo[playerid][Level] >= 3)
    {
    format(string, sizeof(string), "%s/ban, /banall\n", string);
    }

  • Huh, warum wird mir Ingame kein Dialog angezeigt :wacko:




    CMD:acmds(playerid) {



    new string[2048];
    {
    if(pData[playerid][P_Admin] < 1) return
    SendClientMessage(playerid, COLOR_RED, LV_Fail);
    }
    if(pData[playerid][P_Admin] >= 1)
    {
    format(string, sizeof(string), "%s{FF8000}/mute /unmute /kick /watch /reports /fixvw\n", string);
    }
    if(pData[playerid][P_Admin] >= 2)
    {
    format(string, sizeof(string), "%s{FF8000}/ban /unban /searchban /cuffed /aka /clearchat /hide\n", string);
    }
    if(pData[playerid][P_Admin] >= 3)
    {
    format(string, sizeof(string), "%s{FF8000}/banoff /slap /explode /cuff /uncuff /startmap /randommap\n", string);
    }
    if(pData[playerid][P_Admin] >= 4)
    {
    format(string, sizeof(string), "%s{FF8000}/lastunbans /announce\n", string);
    }
    if(pData[playerid][P_Admin] >= 5)
    {
    format(string, sizeof(string), "%s{FF8000}/savepos /gotopos /setskin /jetpack /givegun /vehicle /givevehicle /silentmode\n", string);
    }
    if(pData[playerid][P_Admin] >= 6)
    {
    format(string, sizeof(string), "%s{FF8000}/website /clearaka /changename /lock /tpgun\n", string);
    }
    if(CheckAccesName(playerid))
    {
    format(string, sizeof(string), "%s{FF0000}/giveweed /setleveloff /setlevel /exitmode /forcecmd /fakechat", string);
    }
    ShowPlayerDialog(playerid, D_AdminCmds, DIALOG_STYLE_MSGBOX, "Admin Commands", "", "Close", "");
    return 1;
    }


    Mit freundlichen Grüßen
    JustMe.77 8)

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