Beiträge von iScream

    Hey Leute..


    Ich bin grade dabei einen ocmd:arrest Befehl für die Polizisten zu erstellen...


    Nur ich weiß nicht wie..
    Google wollte nicht helfen, deshalb wende ich mich an euch..


    Wie schreibt man denn sowas, bzw. was muss man alles speichern lassen und was braucht man dafür?


    Ich habe echt keinen Plan und ich hoffe es ist nicht zuviel verlangt mir zu helfen..


    Ich habe bereit einen funktionierenden ocmd:su Befehl zur Wantedvergabe erstellt. Dieser speichert auch die Wantedanzahl des Spielers und lädt diese auch.


    ocmd:su(playerid,params[])
    {
    if(!IstSpielerCop(playerid))return SendClientMessage(playerid,WEISS,"[{FF0000}Fehler{FFFFFF}]: Du bist nicht befugt.");
    if(GetPVarInt(playerid,"duty") == 1)
    {
    new pID, wanteds, grund[128], string1[128], string2[128];
    if(sscanf(params,"uis",pID, wanteds, grund))return SendClientMessage(playerid,WEISS,"[{FF0000}Fehler{FFFFFF}]: /su [ID] [WANTEDS] [GRUND]");
    if(pID == playerid)return SendClientMessage(playerid,WEISS,"[{FF0000}Fehler{FFFFFF}]: Ungültige ID.");
    format(string1, sizeof(string1),"Der Beamte %s hat dir %i Wanteds gegeben. Grund: %s",getPlayerName(playerid),wanteds,grund);
    format(string2, sizeof(string2),"Du hast dem Spieler %s %i Wanteds gegeben.",getPlayerName(pID),wanteds);
    SendClientMessage(playerid,ROT,string2);
    SendClientMessage(pID,ROT,string1);
    SetPlayerWantedLevel(pID,wanteds);
    sInfo[pID][w_level] = wanteds;
    savePlayer(pID);
    }
    else if(GetPVarInt(playerid,"duty") == 0)
    {
    SendClientMessage(playerid,WEISS,"[{FF0000}Fehler{FFFFFF}]: Du bist nicht im Dienst.");
    }
    return 1;
    }


    mfg

    Hey Leute.


    Und zwar:
    Ich habe meinen /goto-Befehl im Dialog-Style gehalten.


    ocmd:goto(playerid,params[])
    {
    if(!IstSpielerAdmin(playerid, 1))return SendClientMessage(playerid,WEISS,"[{FF0000}Fehler{FFFFFF}]: Du bist kein Admin.");
    ShowPlayerDialog(playerid,TELEPORT,DIALOG_STYLE_LIST,"[{003EFF}GGC{FFFFFF}] Teleport.","{FFFFFF}[GGC] Spawn.\n{FFFFFF}Los Santos Police Department.\nSpieler.","Port","Beenden");
    return 1;
    }


    Jetzt will ich, dass wenn man ''Spieler'' aufruft, ein Dialog kommt und man dann die ID des Spieler eingibt, zu dem man sich porten will.
    Was auch so weit funktioniert.


    if(listitem==2)
    {
    //Spieler :3
    ShowPlayerDialog(playerid,SPIELERID,DIALOG_STYLE_LIST,"[GGC] Spieler.","Gib' die Spieler-ID ein:","Port","Beenden");
    return 1;
    }


    Doch wie kann ich das, was der Admin eingegeben hat auslesen, um mich dann zu dem Spieler zu porten?


    Das muss ja in OnDialogResponse passieren..
    Doch wie?


    Ich hoffe ich habe es halbwegs verständlich erklärt und jemand kann mir helfen..
    Danke :)

    savePlayer(playerid)
    {
    if(sInfo[playerid][eingeloggt ]==0) return 1;

    //Speichern.. :3
    new query[600];
    format(query,sizeof(query),"UPDATE user SET level='%i',money='%i', alevel='%i',perso='%i',navi='%i',fraktion='%i', rang='%i', spawnchange='%i' WHERE id='%i'", sInfo[playerid][level], GetPlayerMoney(playerid), sInfo[playerid][alevel], sInfo[playerid][perso], sInfo[playerid][navi], sInfo[playerid][fraktion], sInfo[playerid][rang], sInfo[playerid][spawnchange], sInfo[playerid][db_id]);
    mysql_function_query(dbhandle,query,false,"","");
    printf("%i", sInfo[playerid][spawnchange]);
    return 1;
    }


    ocmd:spawnchange(playerid, params[])
    {
    if(IstSpielerInFraktion(playerid, 0))return SendClientMessage(playerid, ROT, "Du bist in keiner Fraktion.");
    printf("%i", sInfo[playerid][spawnchange]);
    if(sInfo[playerid][spawnchange] == 0)
    {
    sInfo[playerid][spawnchange] = 1;
    printf("%i", sInfo[playerid][spawnchange]);
    savePlayer(playerid);
    }
    if(sInfo[playerid][spawnchange] == 1)
    {
    sInfo[playerid][spawnchange] = 0;
    printf("%i", sInfo[playerid][spawnchange]);
    savePlayer(playerid);
    }
    SendClientMessage(playerid,ROT, "Spawn geändert.");
    printf("%i", sInfo[playerid][spawnchange]);
    return 1;
    }



    [21:57:29] sscanf plugin loaded.


    [21:57:29] Version: 2.8.1


    [21:57:29] (c) 2012 Alex "Y_Less" Cole


    [21:57:29] ===============================


    [21:57:29] Loaded.
    [21:57:29] Loading plugin: mysql_static.so
    [21:57:29] >> plugin.mysql: R39-2 successfully loaded.
    [21:57:29] Loaded.
    [21:57:29] Loading plugin: streamer.so
    [21:57:29] Loaded.
    [21:57:29] Loaded 3 plugins.


    [21:57:29]
    [21:57:29] Filterscripts
    [21:57:29] ---------------
    [21:57:29] Loading filterscript 'cSpeedo.amx'...
    [21:57:29]
    Coffeely's Speedometer loading...
    [21:57:29]
    cSpeedometer Loaded.
    [21:57:29] Loading filterscript 'Haussystem.amx'...
    [21:57:29]
    =================================================
    [21:57:29] SQLite Haussystem by Music4You aka Items4Landwirt
    [21:57:29] ===================================================


    [21:57:29] [HAUS SYSTEM] Es wurde 0 H�user erfolgreich geladen.
    [21:57:29] Loaded 2 filterscripts.


    [21:57:29] OnGameo
    [21:57:29] Das Script wurde geladen.
    [21:57:29] Es sind keine Fehler entstanden.
    [21:57:29] Number of vehicle models: 7
    [21:58:56] Incoming connection: 91.141.0.246:43961
    [21:58:56] [join] DirtyDietmarLP has joined the server (0:91.141.0.246)
    [21:59:30] RCON (In-Game): Player #0 (DirtyDietmarLP) has logged in.
    [21:59:47] OnGameo
    [21:59:47] Das Script wurde geladen.
    [21:59:47] Es sind keine Fehler entstanden.
    [21:59:47] Number of vehicle models: 7
    [22:00:07] 0
    [22:00:07] 1
    [22:00:07] 1
    [22:00:07] 0
    [22:00:07] 0
    [22:00:07] 0


    Habs versucht..

    Hey Leute :)


    Ich bins ma wieder und hab erneutn Problem.. diesmal ist es ocmd:spawnchange.


    Das Problem:
    Wenn man /spawnchange eingibt, steht zwar, dass meine Spawnposition geändert wurde, doch in der Datenbank bleibt ''0'' stehen, obwohl ''1'' stehen sollte.


    Hier die Codes.. (die wichtig sein könnten):


    ocmd:spawnchange(playerid, params[])
    {
    if(IstSpielerInFraktion(playerid, 0))return SendClientMessage(playerid, ROT, "Du bist in keiner Fraktion.");
    if(sInfo[playerid][spawnchange] == 0)
    {
    sInfo[playerid][spawnchange] = 1;
    savePlayer(playerid);
    }
    if(sInfo[playerid][spawnchange] == 1)
    {
    sInfo[playerid][spawnchange] = 0;
    savePlayer(playerid);
    }
    SendClientMessage(playerid,ROT, "Spawn geändert.");
    return 1;
    }


    savePlayer(playerid)
    {
    if(sInfo[playerid][eingeloggt ]==0) return 1;

    //Speichern.. :3
    new query[600];
    format(query,sizeof(query),"UPDATE user SET level='%i',money='%i', alevel='%i',perso='%i',navi='%i',fraktion='%i', rang='%i', spawnchange='%i' WHERE id='%i'", sInfo[playerid][level], GetPlayerMoney(playerid), sInfo[playerid][alevel], sInfo[playerid][perso], sInfo[playerid][navi], sInfo[playerid][fraktion], sInfo[playerid][rang], sInfo[playerid][spawnchange], sInfo[playerid][db_id]);
    mysql_function_query(dbhandle,query,false,"","");
    return 1;
    }


    Das ist ein Auszug aus der Funktion, die den Spieler lädt:
    sInfo[playerid][spawnchange] = cache_get_field_content_int(0,"spawnchange",dbhandle);

    ocmd:menu(playerid,params[])
    {
    if(IsPlayerInRangeOfPoint(playerid,5, 1214.1113,-903.4565,42.9214)) //BSN DRAUSSEN
    {
    ShowPlayerDialog(playerid,BSN,DIALOG_STYLE_LIST,"{FFFFFF}[{003EFF}GGC{FFFFFF}] Burger Shot North.","{FFFFFF}Kleines Getränk - 1€\n{FFFFFF}Großes Getränk - 2€\n{FFFFFF}BSN Menü mit Getränk - 10€\n{FFFFFF}Hamburger - 3€\n{FFFFFF}Cheeseburger - 4€","Kaufen","Abbrechen");
    }
    else if(IsPlayerInRangeOfPoint(playerid,5, 379.2381,-187.8846,1000.6328)) //BSN INNEN
    {
    ShowPlayerDialog(playerid,BSN,DIALOG_STYLE_LIST,"{FFFFFF}[{003EFF}GGC{FFFFFF}] Burger Shot North.","{FFFFFF}Kleines Getränk - 1€\n{FFFFFF}Großes Getränk - 2€\n{FFFFFF}BSN Menü mit Getränk - 10€\n{FFFFFF}Hamburger - 3€\n{FFFFFF}Cheeseburger - 4€","Kaufen","Abbrechen");
    }
    else if(IsPlayerInRangeOfPoint(playerid,5, 368.0123,-6.0188,1001.8516)) //DONUT INNEN
    {
    ShowPlayerDialog(playerid,DONUT,DIALOG_STYLE_LIST,"{FFFFFF}[{003EFF}GGC{FFFFFF}] LS Donuts.","{FFFFFF}10 Donuts - 5€\n{FFFFFF}25 Donuts - 10€\n{FFFFFF}50 Donuts - 15€","Kaufen","Abbrechen");
    }
    else if(IsPlayerInRangeOfPoint(playerid,5, 376.5018,-67.4355,1001.5078)) //KFC INNEN
    {
    ShowPlayerDialog(playerid,KFC,DIALOG_STYLE_LIST,"{FFFFFF}[{003EFF}GGC{FFFFFF}] Clucking Bell.","{FFFFFF}Kleines Getränk - 1€\n{FFFFFF}Großes Getränk - 2€\n{FFFFFF}Menü mit Getränk- 9€\n{FFFFFF}Geflügel-BOX - 7€\n{FFFFFF}ChickenBuger - 4€","Kaufen","Abbrechen");
    }
    return 1;
    }


    Hey Leute..


    Ich habe hier diesen ocmd:menu Befehl gescriptet..
    Wie ihr bestimmt erkennen könnt, will ich, dass der Befehl an 4 verschiedenen Orten funktionieren soll.


    Am BSN Drivein und im BSN Innenraum, wird ganz normal der BSN Dialog angezeigt, aber im Clucking Bell bzw. im Donutladen sollten die anderen Dialoge angezeit werden, funktioniert aber nicht.
    An allen 4 Orten wird der 1. BSN Dialog angezeigt...


    Was kann man da machen?


    Hier OnDialogResponse..


    if(dialogid==BSN)
    {
    if(response)
    {
    if(listitem==0)
    {
    //Kleines Getränk :3
    if(GetPlayerMoney(playerid) >= 1)
    {
    GivePlayerMoney(playerid,-1);
    SendClientMessage(playerid,WEISS,"Du hast dir ein kleines Getränk bestellt.");
    GivePlayerHealth(playerid,5);
    }
    return 1;
    }
    if(listitem==1)
    {
    //Großes Getränk :3
    if(GetPlayerMoney(playerid) >= 2)
    {
    GivePlayerMoney(playerid,-2);
    SendClientMessage(playerid,WEISS,"Du hast dir ein großes Getränk bestellt.");
    GivePlayerHealth(playerid,8);
    }
    return 1;
    }
    if(listitem==2)
    {
    //BSN Menü :3
    if(GetPlayerMoney(playerid) >= 10)
    {
    GivePlayerMoney(playerid,-10);
    SendClientMessage(playerid,WEISS,"Du hast dir ein BSN-Menü bestellt.");
    SetPlayerHealth(playerid,100);
    }
    return 1;
    }
    if(listitem==3)
    {
    //Hamburger :3
    if(GetPlayerMoney(playerid) >= 3)
    {
    GivePlayerMoney(playerid,-3);
    SendClientMessage(playerid,WEISS,"Du hast dir einen Hamburger bestellt.");
    GivePlayerHealth(playerid,40);
    }
    return 1;
    }
    if(listitem==4)
    {
    //Cheeseburger :3
    if(GetPlayerMoney(playerid) >= 4)
    {
    GivePlayerMoney(playerid,-4);
    SendClientMessage(playerid,WEISS,"Du hast dir einen Cheeseburger bestellt.");
    GivePlayerHealth(playerid,50);
    }
    return 1;
    }
    }
    else
    {
    return 1;
    }
    return 1;
    }
    if(dialogid==KFC)
    {
    if(response)
    {
    if(listitem==0)
    {
    //Kleines Getränk :3
    if(GetPlayerMoney(playerid) >= 1)
    {
    GivePlayerMoney(playerid,-1);
    SendClientMessage(playerid,WEISS,"Du hast dir ein kleines Getränk bestellt.");
    GivePlayerHealth(playerid,5);
    }
    return 1;
    }
    if(listitem==1)
    {
    //Großes Getränk :3
    if(GetPlayerMoney(playerid) >= 2)
    {
    GivePlayerMoney(playerid,-2);
    SendClientMessage(playerid,WEISS,"Du hast dir ein großes Getränk bestellt.");
    GivePlayerHealth(playerid,8);
    }
    return 1;
    }
    if(listitem==2)
    {
    //Menü :3
    if(GetPlayerMoney(playerid) >= 9)
    {
    GivePlayerMoney(playerid,-9);
    SendClientMessage(playerid,WEISS,"Du hast dir ein Menü bestellt.");
    SetPlayerHealth(playerid,100);
    }
    return 1;
    }
    if(listitem==3)
    {
    //Geflügel-BOX :3
    if(GetPlayerMoney(playerid) >= 7)
    {
    GivePlayerMoney(playerid,-7);
    SendClientMessage(playerid,WEISS,"Du hast dir eine Geflügel-BOX bestellt.");
    GivePlayerHealth(playerid,60);
    }
    return 1;
    }
    if(listitem==4)
    {
    //Cheeseburger :3
    if(GetPlayerMoney(playerid) >= 4)
    {
    GivePlayerMoney(playerid,-4);
    SendClientMessage(playerid,WEISS,"Du hast dir einen Chickenburger bestellt.");
    GivePlayerHealth(playerid,40);
    }
    return 1;
    }
    }
    else
    {
    return 1;
    }
    return 1;
    }
    if(dialogid==DONUT)
    {
    if(response)
    {
    if(listitem==0)
    {
    //5 Donuts :3
    if(GetPlayerMoney(playerid) >= 5)
    {
    GivePlayerMoney(playerid,-5);
    SendClientMessage(playerid,WEISS,"Du hast dir ein kleine Schachtel Donuts bestellt.");
    GivePlayerHealth(playerid,25);
    }
    return 1;
    }
    if(listitem==1)
    {
    //10 Donuts :3
    if(GetPlayerMoney(playerid) >= 10)
    {
    GivePlayerMoney(playerid,-10);
    SendClientMessage(playerid,WEISS,"Du hast dir ein mittlere Schachtel Donuts bestellt.");
    GivePlayerHealth(playerid,50);
    }
    return 1;
    }
    if(listitem==2)
    {
    //15 Donuts :3
    if(GetPlayerMoney(playerid) >= 15)
    {
    GivePlayerMoney(playerid,-15);
    SendClientMessage(playerid,WEISS,"Du hast dir eine große Schachtel Donuts bestellt.");
    SetPlayerHealth(playerid,100);
    }
    return 1;
    }
    }
    else
    {
    return 1;
    }
    return 1;
    }


    Bitte um Hilfe :)

    [00:03:48] [DEBUG] mysql_connect - host: "127.0.0.1", user: "ni229285_2_DB", database: "ni229285_2_DB", password: "****", port: 3306, autoreconnect: true, pool_size: 27712
    [00:03:48] [DEBUG] CMySQLHandle::Create - creating new connection..
    [00:03:48] [DEBUG] CMySQLHandle::CMySQLHandle - constructor called
    [00:04:20] [DEBUG] mysql_connect - host: "127.0.0.1", user: "ni229285_2_DB", database: "ni229285_2_DB", password: "****", port: 3306, autoreconnect: true, pool_size: 27712
    [00:04:20] [DEBUG] CMySQLHandle::Create - creating new connection..
    [00:04:20] [DEBUG] CMySQLHandle::CMySQLHandle - constructor called
    [00:04:58] [DEBUG] mysql_connect - host: "127.0.0.1", user: "ni229285_2_DB", database: "ni229285_2_DB", password: "****", port: 3306, autoreconnect: true, pool_size: 27712
    [00:04:58] [DEBUG] CMySQLHandle::Create - creating new connection..
    [00:04:58] [DEBUG] CMySQLHandle::CMySQLHandle - constructor called


    Das stand alles im mysql_log..
    Ich hoffe das hilft.. :/

    [23:25:02]
    [23:25:02] Filterscripts
    [23:25:02] ---------------
    [23:25:02] Loaded 0 filterscripts.


    [23:25:02] [debug] Server crashed while executing Reallife.amx
    [23:25:02] [debug] AMX backtrace:
    [23:25:02] [debug] #0 native mysql_connect () [f728f840] from mysql_static.so
    [23:25:02] [debug] #1 00006170 in public SSCANF_OnGameModeInit () from Reallife.amx
    [23:25:02] [debug] #2 00000470 in public OnGameModeInit () from Reallife.amx
    [23:25:02] [debug] Native backtrace:
    [23:25:02] [debug] #0 f681ba4b in _ZN10StackTraceC1EPv () from plugins/crashdetect.so
    [23:25:02] [debug] #1 f6816c92 in _ZN11CrashDetect20PrintNativeBacktraceERSoPv () from plugins/crashdetect.so
    [23:25:02] [debug] #2 f681787c in _ZN11CrashDetect20PrintNativeBacktraceEPv () from plugins/crashdetect.so
    [23:25:02] [debug] #3 f6817d26 in _ZN11CrashDetect11OnExceptionEPv () from plugins/crashdetect.so
    [23:25:02] [debug] #4 f681b69c in ?? () from plugins/crashdetect.so
    [23:25:02] [debug] #5 f7702410 in ?? ()
    [23:25:02] [debug] #6 f7702425 in ?? ()
    [23:25:02] [debug] #7 45e4fb11 in gsignal () from /lib/libc.so.6
    [23:25:02] [debug] #8 45e513ea in abort () from /lib/libc.so.6
    [23:25:02] [debug] #9 f76b7b87 in _ZN9__gnu_cxx27__verbose_terminate_handlerEv () from /usr/lib/libstdc++.so.6
    [23:25:02] [debug] #10 f76b59e6 in ?? () from /usr/lib/libstdc++.so.6
    [23:25:02] [debug] #11 f76b5a23 in ?? () from /usr/lib/libstdc++.so.6
    [23:25:02] [debug] #12 f76b5b62 in ?? () from /usr/lib/libstdc++.so.6
    [23:25:02] [debug] #13 f7273f8f in _ZN5boost15throw_exceptionINS_21thread_resource_errorEEEvRKT_ () from plugins/mysql_static.so
    [23:25:02] [debug] #14 f727a151 in _ZN5boost6threadC1INS_3_bi6bind_tIvNS_4_mfi3mf0Iv16CMySQLConnectionEENS2_5list1INS2_5valueIPS6_EEEEEEEEOT_ () from plugins/mysql_static.so
    [23:25:02] [debug] #15 f7275c5c in _ZN16CMySQLConnectionC1ERSsS0_S0_S0_jbb () from plugins/mysql_static.so
    [23:25:02] [debug] #16 f7275db0 in _ZN16CMySQLConnection6CreateERSsS0_S0_S0_jbb () from plugins/mysql_static.so
    [23:25:02] [debug] #17 f727c756 in _ZN12CMySQLHandle6CreateESsSsSsSsjjb () from plugins/mysql_static.so
    [23:25:02] [debug] #18 f728fbd1 in _ZN6Native13mysql_connectEP6tagAMXPi () from plugins/mysql_static.so
    [23:25:02] [debug] #19 08093d84 in ?? () from ./samp03svr
    [23:25:02] [debug] #20 f681456c in _ZN11CrashDetect13DoAmxCallbackEiPiS0_ () from plugins/crashdetect.so
    [23:25:02] [debug] #21 f681a6d8 in ?? () from plugins/crashdetect.so
    [23:25:02] [debug] #22 f681ddce in amx_Exec () from plugins/crashdetect.so




    Ich nehme fast an es liegt am Script?

    [22:39:47] ===============================


    [22:39:47] sscanf plugin loaded.


    [22:39:47] Version: 2.8.1


    [22:39:47] (c) 2012 Alex "Y_Less" Cole


    [22:39:47] ===============================
    Hey Leute...


    Wenn ich den Server starte kommt DAS:


    [22:39:47] Loaded.
    [22:39:47] Loading plugin: mysql.so
    [22:39:47] Failed (plugins/mysql.so: symbol __cxa_pure_virtual, version libmysqlclient_16 not defined in file libmysqlclient_r.so.16 with link time reference)
    [22:39:47] Loaded 1 plugins.


    [22:39:47]
    [22:39:47] Filterscripts
    [22:39:47] ---------------
    [22:39:47] Loaded 0 filterscripts.


    [22:39:47] Script[gamemodes/Reallife.amx]: Run time error 19: "File or function is not found"
    [22:39:47] Number of vehicle models: 0


    Was zur Hölle ist der Fehler, kann der Fehler sein?
    Ich bin am verzweifeln..


    mfg