Fragen zu einem Taxisystem

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
  • Hallo


    Ok, jetzt brauch ich nochmals Eure Hilfe:


    new Angebot[4][MAX_PLAYERS]; Das Angebot 4 ist für das Taxi da


    public OnPlayerConnect(playerid)
    {
    Angebot[0][playerid] = 999;
    Angebot[1][playerid] = 999;
    Angebot[2][playerid] = 999;
    Angebot[4][playerid] = 999;//Taxiangebot


    dcmd_tarif(playerid,params[])
    {
    new id, geld;
    new vehicleid;
    if(sscanf(params, "ud", id, geld)) return SendClientMessage(playerid, COLOR_WHITE, "Verwendung: /tarif [ID] [Betrag]");
    else if(GetPlayerVehicleID(playerid) != GetPlayerVehicleID(id)) return SendClientMessage(playerid,COLOR_GREY,"Der Kunde ist nicht im Taxi");
    else if(geld > 100) return SendClientMessage(playerid, COLOR_GREY, "Du Abzocker !");
    else
    {
    new string[128];
    format(string,128,"Du bezahlst jetzt all 10 Sekunden &d Dollar",geld);
    SendClientMessage(id,COLOR_GREEN,string);
    Angebot[4][id] = 1
    SetTimerEx("taxitimer", 10000, true);
    }
    return 1;
    }


    //Taxitimer
    forward taxitimer(second, msg[]);


    public taxitimer(second, msg[])
    {
    new id, geld;
    JB_GivePlayerMoney(id, -geld);
    JB_GivePlayerMoney(playerid, geld);
    return 1;
    }


    Errors/Warns:
    C:\Users\X\Desktop\dudalus136.pwn(1361) : error 032: array index out of bounds (variable "Angebot")
    C:\Users\X\Desktop\dudalus136.pwn(2131) : error 017: undefined symbol "playerid"
    C:\Users\X\Desktop\dudalus136.pwn(4826) : error 032: array index out of bounds (variable "Angebot")
    C:\Users\X\Desktop\dudalus136.pwn(4827) : warning 202: number of arguments does not match definition
    C:\Users\X\Desktop\dudalus136.pwn(4817) : warning 203: symbol is never used: "vehicleid"
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    3 Errors.


    Ich habe noch nie wirklich mit Timern geschaft, jedoch hoffe ich, das ich nicht wirklich alles falsch gemacht habe.

  • Hallo


    Ich bin gestern noch etwas weitergekommen, muss mich jetzt aber wieder geschlagen geben ;)


    Hier der /tarif Code:
    dcmd_tarif(playerid,params[])
    {
    new id, geld;
    if(sscanf(params, "ud", id, geld)) return SendClientMessage(playerid, COLOR_WHITE, "Verwendung: /tarif [ID] [Betrag]");
    else if(GetPlayerVehicleID(playerid) != GetPlayerVehicleID(id)) return SendClientMessage(playerid,COLOR_GREY,"Der Kunde ist nicht im Taxi");
    else if(geld > 100) return SendClientMessage(playerid, COLOR_GREY, "Du Abzocker !");
    else
    {
    new string[128];
    format(string,128,"Du bezahlst jetzt all 10 Sekunden &d Dollar",geld);
    SendClientMessage(id,COLOR_GREEN,string);
    SetTimerEx("taxitimer", 10000, 1);
    }
    return 1;
    }


    Hier der Timer:
    public taxitimer()
    {
    new id, playerid, geld;
    JB_GivePlayerMoney(id, -geld);
    JB_GivePlayerMoney(playerid, geld);
    return 1;
    }


    Problem: So geht das nict und der Server restartet immer
    Nun die 1.Frage:
    Wie kann ich die player,id und geld aus /tarif abspeichern lassen, damit ich sie beim Timer einsetzten kann ?


    2.Frage
    Kann ich abfragen, ob ein Timer läuft ?


    3.Frage
    Kann ich KillTimer einfach so bei OnPlayerExitVehicle hinsetzen ?


    MfG dUDA