Problem mit Array

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
  • Hey,


    ich bin gerade an einem Notebook System dran, aber habe irgendwie ein Problem mit meinem Array (Wegen Error).
    Das Problem liegt am kaufen des PC's, wo er dann eine IP zugewiesen bekommt.
    Wie kann ich den beheben?


    Sourcecode:

    Spoiler anzeigen

    //Enum
    enum Computer
    {
    Notebook,
    ComputerIP[256]
    }
    new pCom[MAX_PLAYERS][Computer];

    Spoiler anzeigen
    //PC-Kauf
    case DIALOG_KAUFEN:
    {
    if(response)
    {
    new IP[4];
    FirstIP:
    IP[0] = random(300);
    if(IP[0] < 100) { goto FirstIP; }
    IP[1] = random(200);
    if(IP[1] < 30) { goto FirstIP; }
    IP[2] = random(10);
    if(IP[1] <= 0) { goto FirstIP; }
    IP[3] = random(100);
    if(IP[1] <= 4) { goto FirstIP; }
    new PIP[128];
    format(PIP,sizeof(PIP),"%i.%i.%i.%i",IP[0],IP[1],IP[2],IP[3]);
    pCom[playerid][ComputerIP] = PIP; // DAS HIST IST DIE ERRORZEILE !!
    pCom[playerid][Notebook] = 1;
    minMoney(playerid,250);
    SendClientMessage(playerid,0xFDD700FF,"Du hast dir ein Notebook gekauft. Benutze /notebook");

    }
    else
    {
    return 1;
    }
    return 1;
    }


    Error:

    Spoiler anzeigen
    C:\Users\Narushi\Desktop\samp\New-Evolution-Reallife\gamemodes\notebook.pwn(266) : error 047: array sizes do not match, or destination array is too small
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase

    Spoiler anzeigen
    1 Error.

  • Es wird halt ein Notebook bzw. PC System, mit dem man immer sein PC zu hause, oder seinen Notebook unterwegs benutzen kann.
    Damit wird man dann z.B. etwas bestellen können, evtl. News ansehen, andere Spieler hacken und deren Bestellungen "abfangen"
    um z.B. illegal an Waffen zu kommen usw. (Gegen Wanteds versteht sich.)
    Ich versuche auch, das alles Dynamisch zu gestalten.


    Also, kann mir vllt jemand helfen? Ich möchte bloß, dass die IP als String abgespeichert wird.

  • das ist ein string du kannst einem string nicht einfach eine variabel oder ein text zu ordnen dazu musst du das ganze formatieren



    format(PIP,sizeof(PIP),"%i.%i.%i.%i",IP[0],IP[1],IP[2],IP[3]);
    pCom[playerid][ComputerIP] = PIP; // DAS HIST IST DIE ERRORZEILE !!


    zu



    format(pCom[playerid][ComputerIP],256,"%i.%i.%i.%i",IP[0],IP[1],IP[2],IP[3]);


    und Fabi.Star warum postest du immer in Themen rein wo du nicht mal was produktives dazu beiträgst willst du deine beitragsanzahl pushen oder wie ?

  • Also, wenn es so aussieht ist es richtig?


    FirstIP:
    IP[0] = random(300);
    if(IP[0] < 100) { goto FirstIP; }
    IP[1] = random(200);
    if(IP[1] < 30) { goto FirstIP; }
    IP[2] = random(10);
    if(IP[1] <= 0) { goto FirstIP; }
    IP[3] = random(100);
    if(IP[1] <= 4) { goto FirstIP; }
    format(pCom[playerid][ComputerIP],256,"%i.%i.%i.%i",IP[0],IP[1],IP[2],IP[3]);
    pCom[playerid][Notebook] = 1;
    minMoney(playerid,250);
    SendClientMessage(playerid,0xFDD700FF,"Du hast dir ein Notebook gekauft. Benutze /notebook");