Beiträge von Fabi.StaR

    mach es doch so :


    new bool:sound[MAX_PLAYERS];


    public OnPlayerTakeDamage(playerid, issuerid, Float:amount, weaponid)
    {
    if(sound[playerid] == true)
    {
    PlayerPlaySound(issuerid,17802,0.0,0.0,0.0);
    PlayerPlaySound(playerid,17802,0.0,0.0,0.0);
    return 1;
    }
    }


    if(strcmp(cmdtext,"/hitsound",true) ==0)
    {
    if(sound[playerid] == false) {
    sound[playerid] = true;
    return 1;
    } else {
    sound[playerid] = false;
    return 1;
    }
    }

    mach es so:


    new bool:onduty, NamenStr[MAX_PLAYERS][258], NamensColor[MAX_PLAYERS];


    ocmd:duty(playerid,params) {
    if(IsPlayerAdmin(playerid)) {
    new str[258],stri[258];
    if(onduty==false) {
    :pinch: NamenStr[playerid] = PlayerName(playerid);
    NamensColor[playerid] = GetPlayerColor(playerid);
    format(str,258,"[SRP]%s",PlayerName(playerid));
    SetPlayerName(playerid,str);
    format(stri,258,"%s hat sich als Supporter angemeldet und wird nun auf der Karte Makiert.");
    SendClientMessageToAll(0xFFFFFFFF,stri);
    SetPlayerColor(playerid,0xFF00FFFF);
    onduty = true;
    return 1;
    }
    else {
    SetPlayerName(playerid,NamenStr[playerid]);
    format(stri,258,"%s hat sich als Supporter abgemeldet.");
    SendClientMessageToAll(0xFFFFFFFF,stri);
    SetPlayerColor(playerid,NamensColor[playerid]);
    onduty = false;
    return 1;
    }
    }
    else { SendClientMessage(playerid,0xFFFFFFFF,"Du bist Kein Admin!");}
    return 1;
    }


    stock PlayerName(playerid)
    {
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    return name;
    }

    Guten Abend,


    Ich habe ma so ein Tankstellen system angefangen und wenn ich den Befehl zum erstellen einer Tankstelle eingeben passiert nix.
    Wäre net wenn mir einer sagen könnte was ich falsch gemacht habe hir der code:


    Spoiler anzeigen

    #include <a_samp>
    #include <a_mysql>
    #include <ocmd>

    Spoiler anzeigen
    #define MAX_TANKSTELLEN 15

    Spoiler anzeigen
    #define Gelb 0xFFFF00FF
    #define Weiss 0xFFFFFFFF

    Spoiler anzeigen
    #define SQL_HOST "localhost"
    #define SQL_USER "root"
    #define SQL_PASS ""
    #define SQL_DATA "tankstelle"

    Spoiler anzeigen
    enum Tinf {
    Besitzer[MAX_PLAYER_NAME], bool:fExist,
    Besetzt, Erpresser[MAX_PLAYER_NAME],
    Kasse, KaufPreis,
    KaufLevel, TankPreis, fPickup,
    fSQLid, Float: TX,Float: TY,Float: TZ,
    Text3D:TankText
    }
    new TankInfo[MAX_TANKSTELLEN][Tinf];

    Spoiler anzeigen
    public OnFilterScriptInit()
    {
    LoadTankst();
    Connect_To_Database();
    print("\n--------------------------------------");
    print(" Test Tankstellen System (c) Fabi.StaR");
    print("--------------------------------------\n");
    return 1;
    }

    Spoiler anzeigen
    public OnFilterScriptExit()
    {
    return 1;
    }

    Spoiler anzeigen
    ocmd:createtank(playerid, params[])
    {
    new Level, Preis,string[128],Float:X,Float:Y,Float:Z;
    GetPlayerPos(playerid,X,Y,Z);
    for(new t = 0; t<sizeof(TankInfo); t++) {
    if(IsPlayerAdmin(playerid)) {
    new Slot = GetFreeTankstslot();
    if(Slot != -1) {
    if(sscanf(params,"dd",Level,Preis))return SendClientMessage(playerid,Gelb,"[Benutze]: /createtank [KaufLevel] [KaufPreis]");
    TankInfo[Slot][KaufPreis] = Preis;
    TankInfo[Slot][KaufLevel] = Level;
    TankInfo[Slot][TX] = X;
    TankInfo[Slot][TY] = Y;
    TankInfo[Slot][TZ] = Z;
    mysql_query("SELECT max(id) FROM `tankstellen`");
    mysql_store_result();
    mysql_fetch_row_format(string);
    UpdateFactionCar(Slot);
    CreatePickUpofMap(Slot);
    }
    }
    }
    return 1;
    }

    Spoiler anzeigen
    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if (strcmp("/mycommand", cmdtext, true, 10) == 0)
    {
    return 1;
    }
    return 0;
    }

    Spoiler anzeigen
    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    return 1;
    }

    Spoiler anzeigen
    stock GetFreeTankstslot()
    {
    for(new i = 0; i < sizeof(TankInfo); i++) {
    if(TankInfo[i][fExist]==false)return i;
    }
    return -1;
    }

    Spoiler anzeigen
    stock LoadTankst()
    {
    new Load[16], idx;
    mysql_query("SELECT * FROM tankstellen");
    mysql_store_result();
    while(mysql_retrieve_row())
    {
    mysql_fetch_field_row(Load, "Besitzer");
    format(TankInfo[idx][Besitzer],500,Load);
    mysql_fetch_field_row(Load, "Erpresser");
    format(TankInfo[idx][Erpresser],500,Load);
    mysql_fetch_field_row(Load, "Besetzt");
    TankInfo[idx][Besetzt] = strval(Load);
    mysql_fetch_field_row(Load, "Kasse");
    TankInfo[idx][Kasse] = strval(Load);
    mysql_fetch_field_row(Load, "X");
    TankInfo[idx][TX] = floatstr(Load);
    mysql_fetch_field_row(Load, "Y");
    TankInfo[idx][TY] = floatstr(Load);
    mysql_fetch_field_row(Load, "Z");
    TankInfo[idx][TZ] = floatstr(Load);
    mysql_fetch_field_row(Load, "TankPreis");
    TankInfo[idx][TankPreis] = strval(Load);
    mysql_fetch_field_row(Load, "KaufLevel");
    TankInfo[idx][KaufLevel] = strval(Load);
    mysql_fetch_field_row(Load, "KaufPreis");
    TankInfo[idx][KaufPreis] = strval(Load);
    mysql_fetch_field_row(Load, "id");
    TankInfo[idx][fSQLid] = strval(Load);
    CreatePickUpofMap(idx);
    idx ++;
    }
    mysql_free_result();
    }

    Spoiler anzeigen
    stock UpdateFactionCar(id)
    {
    new Query[128];
    if(TankInfo[id][fExist] == true)
    {
    format(Query, sizeof(Query), "UPDATE tankstellen SET `Kasse` = '%d' WHERE `id` = '%d'", TankInfo[id][Kasse], TankInfo[id][fSQLid]);
    mysql_query(Query);
    format(Query, sizeof(Query), "UPDATE tankstellen SET `X` = '%f' WHERE `id` = '%d'", TankInfo[id][TX], TankInfo[id][fSQLid]);
    mysql_query(Query);
    format(Query, sizeof(Query), "UPDATE tankstellen SET `Y` = '%f' WHERE `id` = '%d'", TankInfo[id][TY], TankInfo[id][fSQLid]);
    mysql_query(Query);
    format(Query, sizeof(Query), "UPDATE tankstellen SET `Z` = '%f' WHERE `id` = '%d'", TankInfo[id][TZ], TankInfo[id][fSQLid]);
    mysql_query(Query);
    format(Query, sizeof(Query), "UPDATE tankstellen SET `TankPreis` = '%d' WHERE `id` = '%d'", TankInfo[id][TankPreis], TankInfo[id][fSQLid]);
    mysql_query(Query);
    format(Query, sizeof(Query), "UPDATE tankstellen SET `KaufLevel` = '%d' WHERE `id` = '%d'", TankInfo[id][KaufLevel], TankInfo[id][fSQLid]);
    mysql_query(Query);
    format(Query, sizeof(Query), "UPDATE tankstellen SET `KaufPreis` = '%d' WHERE `id` = '%d'", TankInfo[id][KaufPreis], TankInfo[id][fSQLid]);
    mysql_query(Query);
    }
    return 1;
    }

    Spoiler anzeigen
    stock CreatePickUpofMap(id)
    {
    if(TankInfo[id][fExist] == true)
    {
    new str[128];
    TankInfo[id][fPickup] = CreatePickup(1339,2, TankInfo[id][TX], TankInfo[id][TY], TankInfo[id][TZ],0);
    if(TankInfo[id][Besetzt] != 1)
    {
    format(str,sizeof(str),"Diese Tankstelle steht zum verkkauf Tipp:/buyTankst ein\nBesitzer: -KEINER-\nKaufPreis: %d\nKaufLevel: %d",TankInfo[id][KaufPreis],TankInfo[id][KaufLevel]);
    TankInfo[id][TankText] = Create3DTextLabel(str,Weiss,0,0,0,15,0,1);
    }
    else
    {
    format(str,sizeof(str),"%s\nBesitzer: %s\nErpresser: %d\nTankPreis: %d",TankInfo[id][Besitzer],TankInfo[id][Erpresser],TankInfo[id][TankPreis]);
    TankInfo[id][TankText] = Create3DTextLabel(str,Weiss,0,0,0,15,0,1);
    }
    }
    return 1;
    }

    Spoiler anzeigen
    stock Connect_To_Database()
    {
    mysql_connect(SQL_HOST, SQL_USER, SQL_DATA, SQL_PASS);
    if(mysql_ping() == 1)
    {
    print("<-| [MYSQL] Verbindung zur Datenbank wurde erfolgreich hergestellt!");
    return true;
    }
    else
    {
    print("<-| [MYSQL] Es konnte keine Verbindung zur Datenbank hergestellt werden!");
    print("<-| [MYSQL] Es wird erneut versucht eine Verbindung zur Datenbank herzustellen!");
    mysql_connect(SQL_HOST, SQL_USER, SQL_DATA, SQL_PASS);
    if(mysql_ping() == 1)
    {
    print("<-| [MYSQL] Es konnte im 2 Versuch eine Verbindung hergestellt werden!");
    return true;
    }
    else
    {
    print("<-| [MYSQL] Es konnte keine Verbindung zur Datenbank hergestellt werden!");
    print("<-| [MYSQL] Der Server wird nun beendet!");
    SendRconCommand("exit");
    return true;
    }
    }
    }

    Spoiler anzeigen
    stock sscanf(sstring[], format[], {Float,_}:...)
    {
    #if defined isnull
    if (isnull(sstring))
    #else
    if (sstring[0] == 0 || (sstring[0] == 1 && sstring[1] == 0))
    #endif
    {
    return format[0];
    }
    #pragma tabsize 4
    new
    formatPos = 0,
    sstringPos = 0,
    paramPos = 2,
    paramCount = numargs(),
    delim = ' ';
    while (sstring[sstringPos] && sstring[sstringPos] <= ' ')
    {
    sstringPos++;
    }
    while (paramPos < paramCount && sstring[sstringPos])
    {
    switch (format[formatPos++])
    {
    case '\0':
    {
    return 0;
    }
    case 'i', 'd':
    {
    new
    neg = 1,
    num = 0,
    ch = sstring[sstringPos];
    if (ch == '-')
    {
    neg = -1;
    ch = sstring[++sstringPos];
    }
    do
    {
    sstringPos++;
    if ('0' <= ch <= '9')
    {
    num = (num * 10) + (ch - '0');
    }
    else
    {
    return -1;
    }
    }
    while ((ch = sstring[sstringPos]) > ' ' && ch != delim);
    setarg(paramPos, 0, num * neg);
    }
    case 'h', 'x':
    {
    new
    num = 0,
    ch = sstring[sstringPos];
    do
    {
    sstringPos++;
    switch (ch)
    {
    case 'x', 'X':
    {
    num = 0;
    continue;
    }
    case '0' .. '9':
    {
    num = (num << 4) | (ch - '0');
    }
    case 'a' .. 'f':
    {
    num = (num << 4) | (ch - ('a' - 10));
    }
    case 'A' .. 'F':
    {
    num = (num << 4) | (ch - ('A' - 10));
    }
    default:
    {
    return -1;
    }
    }
    }
    while ((ch = sstring[sstringPos]) > ' ' && ch != delim);
    setarg(paramPos, 0, num);
    }
    case 'c':
    {
    setarg(paramPos, 0, sstring[sstringPos++]);
    }
    case 'f':
    {

    Spoiler anzeigen
    new changestr[16], changepos = 0, strpos = sstringPos;
    while(changepos < 16 && sstring[strpos] && sstring[strpos] != delim)
    {
    changestr[changepos++] = sstring[strpos++];
    }
    changestr[changepos] = '\0';
    setarg(paramPos,0,_:floatstr(changestr));
    }
    case 'p':
    {
    delim = format[formatPos++];
    continue;
    }
    case '\'':
    {
    new
    end = formatPos - 1,
    ch;
    while ((ch = format[++end]) && ch != '\'') {}
    if (!ch)
    {
    return -1;
    }
    format[end] = '\0';
    if ((ch = strfind(sstring, format[formatPos], false, sstringPos)) == -1)
    {
    if (format[end + 1])
    {
    return -1;
    }
    return 0;
    }
    format[end] = '\'';
    sstringPos = ch + (end - formatPos);
    formatPos = end + 1;
    }
    case 'u':
    {
    new
    end = sstringPos - 1,
    id = 0,
    bool:num = true,
    ch;
    while ((ch = sstring[++end]) && ch != delim)
    {
    if (num)
    {
    if ('0' <= ch <= '9')
    {
    id = (id * 10) + (ch - '0');
    }
    else
    {
    num = false;
    }
    }
    }
    if (num && IsPlayerConnected(id))
    {
    setarg(paramPos, 0, id);
    }
    else
    {
    #if !defined foreach
    #define foreach(%1,%2) for (new %2 = 0; %2 < MAX_PLAYERS; %2++) if (IsPlayerConnected(%2))
    #define __SSCANF_FOREACH__
    #endif
    sstring[end] = '\0';
    num = false;
    new
    name[MAX_PLAYER_NAME];
    id = end - sstringPos;
    foreach (Player, playerid)
    {
    GetPlayerName(playerid, name, sizeof (name));
    if (!strcmp(name, sstring[sstringPos], true, id))
    {
    setarg(paramPos, 0, playerid);
    num = true;
    break;
    }
    }
    if (!num)
    {
    setarg(paramPos, 0, INVALID_PLAYER_ID);
    }
    sstring[end] = ch;
    #if defined __SSCANF_FOREACH__
    #undef foreach
    #undef __SSCANF_FOREACH__
    #endif
    }
    sstringPos = end;
    }
    case 's', 'z':
    {
    new
    i = 0,
    ch;
    if (format[formatPos])
    {
    while ((ch = sstring[sstringPos++]) && ch != delim)
    {
    setarg(paramPos, i++, ch);
    }
    if (!i)
    {
    return -1;
    }
    }
    else
    {
    while ((ch = sstring[sstringPos++]))
    {
    setarg(paramPos, i++, ch);
    }
    }
    sstringPos--;
    setarg(paramPos, i, '\0');
    }
    default:
    {
    continue;
    }
    }
    while (sstring[sstringPos] && sstring[sstringPos] != delim && sstring[sstringPos] > ' ')
    {
    sstringPos++;
    }
    while (sstring[sstringPos] && (sstring[sstringPos] == delim || sstring[sstringPos] <= ' '))
    {
    sstringPos++;
    }
    paramPos++;
    }
    do
    {
    if ((delim = format[formatPos++]) > ' ')
    {
    if (delim == '\'')
    {
    while ((delim = format[formatPos++]) && delim != '\'') {}
    }
    else if (delim != 'z')
    {
    return delim;
    }
    }
    }
    while (delim > ' ');
    return 0;
    }


    //EDIT's

    Spoiler anzeigen

    - Fehler endekt und behoben aber geht immer noch net

    Guten Abend alle zusammen,


    Ich bin dabei ein Tankstellen System zu schreiben und habe folgendes Problem:


    Wenn ich den Befehl zum Erstellen der Tankstelle eingebe wird Kein Pickup erstellt und kein Text3dLabel hir der code:


    Spoiler anzeigen
    ocmd:createtank(playerid, params[])
    {
    new Level, Preis,string[128],Float:X,Float:Y,Float:Z;
    GetPlayerPos(playerid,X,Y,Z);
    for(new t = 0; t<sizeof(TankInfo); t++) {
    if(IsPlayerAdmin(playerid)) {
    new Slot = GetFreeTankstslot();
    if(Slot != -1) {
    if(sscanf(params,"dd",Level,Preis))return SendClientMessage(playerid,Gelb,"[Benutze]: /createtank [KaufLevel] [KaufPreis]");
    TankInfo[Slot][KaufPreis] = Preis;
    TankInfo[Slot][KaufLevel] = Level;
    TankInfo[Slot][TX] = X;
    TankInfo[Slot][TY] = Y;
    TankInfo[Slot][TZ] = Z;
    mysql_query("INSERT INTO `tankstellen`(`besetzt`) VALUES (1)");
    mysql_query("SELECT max(id) FROM `tankstellen`");
    mysql_store_result();
    mysql_fetch_row_format(string);
    UpdateFactionCar(Slot);
    CreatePickUpofMap(Slot);
    }
    }
    }
    return 1;
    }

    Spoiler anzeigen
    stock GetFreeTankstslot()
    {
    for(new i = 0; i < sizeof(TankInfo); i++)
    {
    if(TankInfo[i][fExist]==false)return i;
    }
    return -1;
    }

    Spoiler anzeigen
    stock LoadTankst()
    {
    new Load[16], idx;
    mysql_query("SELECT * FROM tankstellen");
    mysql_store_result();
    while(mysql_retrieve_row())
    {
    mysql_fetch_field_row(Load, "Besitzer");
    format(TankInfo[idx][Besitzer],500,Load);
    mysql_fetch_field_row(Load, "Erpresser");
    format(TankInfo[idx][Erpresser],500,Load);
    mysql_fetch_field_row(Load, "Besetzt");
    TankInfo[idx][Besetzt] = strval(Load);
    mysql_fetch_field_row(Load, "Kasse");
    TankInfo[idx][Kasse] = strval(Load);
    mysql_fetch_field_row(Load, "X");
    TankInfo[idx][TX] = floatstr(Load);
    mysql_fetch_field_row(Load, "Y");
    TankInfo[idx][TY] = floatstr(Load);
    mysql_fetch_field_row(Load, "Z");
    TankInfo[idx][TZ] = floatstr(Load);
    mysql_fetch_field_row(Load, "TankPreis");
    TankInfo[idx][TankPreis] = strval(Load);
    mysql_fetch_field_row(Load, "KaufLevel");
    TankInfo[idx][KaufLevel] = strval(Load);
    mysql_fetch_field_row(Load, "KaufPreis");
    TankInfo[idx][KaufPreis] = strval(Load);
    mysql_fetch_field_row(Load, "id");
    TankInfo[idx][fSQLid] = strval(Load);
    CreatePickUpofMap(idx);
    idx ++;
    }
    mysql_free_result();
    }

    Spoiler anzeigen
    stock UpdateFactionCar(id)
    {
    new Query[128];
    if(TankInfo[id][fExist] == true)
    {
    format(Query, sizeof(Query), "UPDATE tankstellen SET `Kasse` = '%d' WHERE `id` = '%d'", TankInfo[id][Kasse], TankInfo[id][fSQLid]);
    mysql_query(Query);
    format(Query, sizeof(Query), "UPDATE tankstellen SET `X` = '%f' WHERE `id` = '%d'", TankInfo[id][TX], TankInfo[id][fSQLid]);
    mysql_query(Query);
    format(Query, sizeof(Query), "UPDATE tankstellen SET `Y` = '%f' WHERE `id` = '%d'", TankInfo[id][TY], TankInfo[id][fSQLid]);
    mysql_query(Query);
    format(Query, sizeof(Query), "UPDATE tankstellen SET `Z` = '%f' WHERE `id` = '%d'", TankInfo[id][TZ], TankInfo[id][fSQLid]);
    mysql_query(Query);
    format(Query, sizeof(Query), "UPDATE tankstellen SET `TankPreis` = '%d' WHERE `id` = '%d'", TankInfo[id][TankPreis], TankInfo[id][fSQLid]);
    mysql_query(Query);
    format(Query, sizeof(Query), "UPDATE tankstellen SET `KaufLevel` = '%d' WHERE `id` = '%d'", TankInfo[id][KaufLevel], TankInfo[id][fSQLid]);
    mysql_query(Query);
    format(Query, sizeof(Query), "UPDATE tankstellen SET `KaufPreis` = '%d' WHERE `id` = '%d'", TankInfo[id][KaufPreis], TankInfo[id][fSQLid]);
    mysql_query(Query);
    }
    return 1;
    }

    Spoiler anzeigen
    stock CreatePickUpofMap(id)
    {
    if(TankInfo[id][fExist] == true)
    {
    new str[128];
    TankInfo[id][fPickup] = CreatePickup(1339,2, TankInfo[id][TX], TankInfo[id][TY], TankInfo[id][TZ],0);
    if(TankInfo[id][Besetzt] != 1)
    {
    format(str,sizeof(str),"Diese Tankstelle steht zum verkkauf Tipp:/buyTankst ein\nBesitzer: -KEINER-\nKaufPreis: %d\nKaufLevel: %d",TankInfo[id][KaufPreis],TankInfo[id][KaufLevel]);
    TankInfo[id][TankText] = Create3DTextLabel(str,Weiss,0,0,0,15,0,1);
    }
    else
    {
    format(str,sizeof(str),"%s\nBesitzer: %s\nErpresser: %d\nTankPreis: %d",TankInfo[id][Besitzer],TankInfo[id][Erpresser],TankInfo[id][TankPreis]);
    TankInfo[id][TankText] = Create3DTextLabel(str,Weiss,0,0,0,15,0,1);
    }
    }
    return 1;
    }

    bitte richtig den code posten is übersichtilicher ^^


    mysql_fetch_field("ZonePos1",data); // Fehlerzeile
    new pos1 = strval(data);
    mysql_fetch_field("ZonePos2",data);// Fehlerzeile
    new pos2 = strval(data);
    mysql_fetch_field("ZonePos3",data);// Fehlerzeile
    new pos3 = strval(data);
    mysql_fetch_field("ZonePos4",data);// Fehlerzeile
    new pos4 = strval(data);
    mysql_fetch_field("ZoneOwner",data);// Fehlerzeile
    new zoneowner2 = strval(data);
    mysql_fetch_field("ZoneColor",data);// Fehlerzeile
    new zonecolor2 = strval(data);


    was soll new pos1 ... und bedienung sein??

    Also wenn mir jemand noch helfen könnte weil ich habe vor einen Timer zu starten und ihn laufen zulasssen und jede Sekunde soll der Textdraw geupdatet werden und bei 15 Sekunden soll der Preis bei einem Textdraw auch hoch gehen aber ab da weisss ich weiter.


    mfg. Fabi.StaR

    Spoiler anzeigen
    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    if(dialogid == TAXINAME_DIALOG) {
    for(new tg=0; tg<sizeof(TaxiInfo); tg++) {
    format(TaxiInfo[tg][TaxiName],258,inputtext);//HIR
    ShowPlayerDialog(playerid,TAXIPREIS_DIALOG,DIALOG_STYLE_INPUT,"Taxi Info 2:","Gebe bitte ein Preis(pro 15 Sekunden)an(zwischen 1-250):","Weiter","Abbrechen");
    return 1;
    }
    }
    if(dialogid == TAXIPREIS_DIALOG) {
    if(strlen(inputtext) == 0) {
    ShowPlayerDialog(playerid,TAXIPREIS_DIALOG,DIALOG_STYLE_INPUT,"Taxi Info 2:","Gebe bitte ein Preis(pro 15 Sekunden)an(zwischen 1-250):","Weiter","Abbrechen");
    }
    else {
    for(new tg=0; tg<sizeof(TaxiInfo); tg++) {
    if(TaxiInfo[tg][VehID] == GetPlayerVehicleID(playerid)) {
    new str[128];
    if(strval(inputtext) <0 || strval(inputtext) >250)return ShowPlayerDialog(playerid,TAXIPREIS_DIALOG,DIALOG_STYLE_INPUT,"Taxi Info 2:","Gebe bitte ein Preis(pro 15 Sekunden)an(zwischen 1-250):","Weiter","Abbrechen");
    TaxiInfo[tg][besetzt]=1;
    TaxiInfo[tg][FahrPreis]=strval(inputtext);
    format(str,128,"San Andreas Taxi\n\nName: %s\nFahrer: %s\nFahr Preis: %d",TaxiInfo[tg][TaxiName],TaxiInfo[tg][FahrerName],TaxiInfo[tg][FahrPreis]);
    Update3DTextLabelText(TaxiInfo[tg][Taxilabel],Gelb,str);
    return 1;
    }
    }
    }
    }
    return 1;
    }


    bitte sehr

    Ich habe es so gemacht:


    TaxiInfo[tg][TaxiName]=inputtext;


    und habe denn error:


    C:\Users\Fabian\Desktop\Mein Samp Server\gamemodes\TaxiSystem.pwn(124) : error 047: array sizes do not match, or destination array is too small
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    1 Error.

    Hab es hin bekommen aber der Fahrername und der Taxi name wird net angezeigt :D wei man oben auf dem bild sehen kann.


    hir normal der code:

    Spoiler anzeigen

    public OnPlayerStateChange(playerid, newstate, oldstate)
    {
    if(newstate == PLAYER_STATE_DRIVER)
    {
    new gname[MAX_PLAYER_NAME];
    GetPlayerName(playerid,gname,sizeof(gname));
    for(new i=0; i<sizeof(TaxiInfo); i++) {
    if(GetPlayerVehicleID(playerid)==TaxiInfo[i][VehID]) {
    if(TaxiInfo[i][besetzt] == 0) {
    TaxiInfo[i][FahrerName]=strcmp(gname, TaxiInfo[i][FahrerName]);//hir der Name wird net übertragen
    ShowPlayerDialog(playerid,TAXINAME_DIALOG,DIALOG_STYLE_INPUT,"Taxi Info 1:","Wie soll der Taxi Name sein??","Weiter","Abbrechen");
    return 1;
    }
    else {
    if(!strcmp(gname, TaxiInfo[i][FahrerName])) return 0;
    new str[128];
    format(str,128,"Dieses Taxi wird schon von %s als DienstFahrzeug benutzt.",gname);
    SendClientMessage(playerid,Rot,str);
    return 1;
    }
    }
    }
    }
    return 1;
    }
    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    if(dialogid == TAXINAME_DIALOG) {
    for(new tg=0; tg<sizeof(TaxiInfo); tg++) {
    TaxiInfo[tg][TaxiName]=strval(inputtext);//hir der Taxi NAmewird net übertragen
    ShowPlayerDialog(playerid,TAXIPREIS_DIALOG,DIALOG_STYLE_INPUT,"Taxi Info 2:","Gebe bitte ein Preis(pro 15 Sekunden)an(zwischen 1-250)","Weiter","Abbrechen");
    }
    }
    if(dialogid == TAXIPREIS_DIALOG) {
    for(new tg=0; tg<sizeof(TaxiInfo); tg++) {
    if(TaxiInfo[tg][VehID] == GetPlayerVehicleID(playerid)) {
    new str[128];
    TaxiInfo[tg][FahrPreis]=strval(inputtext);//hir das is der Preis der wird angezeigt
    format(str,128,"San Andreas Taxi\n\nName: %s\nFahrer: %s\nFahr Preis: %d",TaxiInfo[tg][TaxiName],TaxiInfo[tg][FahrerName],TaxiInfo[tg][FahrPreis]);
    Update3DTextLabelText(TaxiInfo[tg][Taxilabel],Gelb,str);
    }
    }
    }
    return 1;
    }


    //edit


    Spoiler anzeigen

    - Sorry das ich soviel scheiss code schreibe aber habe ne lange zeit nix mehr gemacht in richtung Samp PAwn Scripting :D :sleeping: