[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
  • Die 2 Taste ist ja nur definiert worden, weil die im Singelplayer als "Bürgerwehr-Mission" und so benutzt wird (Vermute ich mal)
    Schade X(

    GreetZ

    Zitat

    Joda21:47
    Joda = mein spritzname
    xD


    Ice21:47
    zeig mir dein lichtschwert !


    Joda21:47 spitzname* xDD

    Ich bin ein Vogel (Joda)


  • public reloadexport(playerid) //This is called when all cars are sold <=== zeile 4919
    {

  • Die 2 Taste ist ja nur definiert worden, weil die im Singelplayer als "Bürgerwehr-Mission" und so benutzt wird (Vermute ich mal)
    Schade X(

    Sie bewirkt das selbe wie NumPad+


    Man kann bei SAMP allerdings nur Tasten verwenden die vom Spiel aus definiert sind.


    Nicht jeder, der sich für super hält, ist ein Superheld. :love:
    ------------------------------------------------------------------------------------------------

  • Naja die sind in einer include definiert.
    Nur wer nimmt sich schon die Zeit und versucht die IDS für die anderen Tasten zu finden? xD
    Sogesehen ist alles möglich man muss nur wissen wie...!

    GreetZ

    Zitat

    Joda21:47
    Joda = mein spritzname
    xD


    Ice21:47
    zeig mir dein lichtschwert !


    Joda21:47 spitzname* xDD

    Ich bin ein Vogel (Joda)


  • Jetzt habe ich diese meldungen


    C:\Users\cyc\Desktop\GTA Script\MrIllusion2\MrIllusion\gamemodes\eRPv0.8.pwn(37063) : warning 235: public function lacks forward declaration (symbol "reloadexport")
    C:\Users\cyc\Desktop\GTA Script\MrIllusion2\MrIllusion\gamemodes\eRPv0.8.pwn(37091) : warning 209: function "reloadexport" should return a value
    C:\Users\cyc\Desktop\GTA Script\MrIllusion2\MrIllusion\gamemodes\eRPv0.8.pwn(37092) : error 010: invalid function or declaration
    C:\Users\cyc\Desktop\GTA Script\MrIllusion2\MrIllusion\gamemodes\eRPv0.8.pwn(37095) : warning 203: symbol is never used: "vNames"
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    1 Error.



    if(sold10 == 1) //If its sold //<=== 37063
    {
    DestroyObject(cross10); //Destroy the cross
    sold10 = 0; //And set the variable to "not sold"
    }


    So zeile 37091 ist vorletzte Zeile das ist eine lehre zeile
    Zeile 37092 Ist die letzte zeile und das ist auch eine lehre zeile
    und Zeile 37095 gibt es nicht

    WEGEN MEINER RECHTSCHREIBUNG MÖCHTE ICH MICH ENDSCHULDIGEN ICH BIN LEGASTENIGER!!!!!!!!!!!!!

    Einmal editiert, zuletzt von Gambit ()

  • Naja die sind in einer include definiert.
    Nur wer nimmt sich schon die Zeit und versucht die IDS für die anderen Tasten zu finden? xD
    Sogesehen ist alles möglich man muss nur wissen wie...!

    Es ist mit Samp nicht möglich. Samp greift auf die Einstellungen von GTA SA zu und nicht auf die Tastatur
    Es gibt ein Filterscript (Key-Detecter) welches dir alle Keys anzeigt.
    Da gibts für jede verschiedene Kombination von Tasten, allerdings nur von Tasten die in der GTA-Steuerung vorkommen


    Nicht jeder, der sich für super hält, ist ein Superheld. :love:
    ------------------------------------------------------------------------------------------------

  • Wie kann man es machen das Autos nicht zurück spornen sondern da stehen bleiben wo man sie verlassen hat??

    WEGEN MEINER RECHTSCHREIBUNG MÖCHTE ICH MICH ENDSCHULDIGEN ICH BIN LEGASTENIGER!!!!!!!!!!!!!

  • AddStaticVehicleEx(........,-1);,
    forward reloadexport(...);
    und einfach ein
    return 1; } hinter das public

  • Was muss ich machen das die Export cars auch wirglich nur an der einen weg punkt abgegeben wird und nicht bei allen weg punkten??


    Ich vermutte das es irgend was mit der abteilung zutun hat, aber ich weis leider nicht wo ich es rein machen muss da mit er weis das er nur bei einem weg punkt es abgeben muss


    if(!IsPlayerInAnyVehicle(playerid)) //If the player isnt in a vehicle
    {
    return SendClientMessage(playerid,COLOR_RED,"You must be in a vehicle!");
    }
    new gtstr[128]; //Define gtstr
    if(sellon[playerid] == 0) //if he cant sell cars (sold one latley)
    {
    return GameTextForPlayer(playerid,"~R~Come back later!",3000,sold_for_gametext); //Tell him to return later
    }
    //Slamvan
    if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 535) //If its a Slamvan
    {
    if(sold1 == 0) //If it has not been sold
    {
    sold1 = 1; //Now its sold, so we can set the variable
    sellon[playerid] = 0; //We have sold a vehicle so we have to wait 5 minutes to sell again
    SetTimerEx("exdel",wait_time*60000, false, "i", playerid); //Set the timer to be able to sell cars again
    new string[128];
    new string2[128];
    format(string2, sizeof(string2), "CAR EXPORT: You must now wait %d minutes to sell another car!",wait_time); //Format "string2"
    SendClientMessage(playerid, COLOR_GREEN,string2); //Send "string2" as a SendClientMessage
    DestroyVehicle(GetPlayerVehicleID(playerid)); //Respawn the Slamvan
    GivePlayerMoney(playerid,slamvan_price); //Give the player that cash
    SetPlayerScore(playerid, GetPlayerScore(playerid) + sell_car_bonus );
    format(gtstr, sizeof(gtstr), "~G~slamvan sold for~N~~Y~$%i~W~!",slamvan_price); //Format "gtstr"
    GameTextForPlayer(playerid,gtstr,3000,sold_for_gametext); //Gametext
    cross1 = CreateObject(3086, -1534.65, 154.05, 2.51, 0.00, 0.00, 180.00); //The cross-out object for the blackboard
    SetPlayerCameraPos(playerid,-1534.6313,150.5789,3.5547); //Camera
    SetPlayerCameraLookAt(playerid,-1534.4789,153.5749,4.6031); //Camera
    SetTimerEx("excam",reset_time*1000, false, "i", playerid); //Reset the camera and the player in whatever secondsa are defined
    PlayerPlaySound(playerid,sell_car_sound,0.0,0.0,0.0); //Sound
    new name[16]; //Define "Name"
    GetPlayerName(playerid,name,16); //Get the players name and store it in the "name" variable
    format(string, sizeof(string), "\"%s\" has sold the Slamvan for $%i!",name,slamvan_price); //Format "string"
    SendClientMessageToAll(COLOR_GREEN, string); //Send "string" as a SCM
    }
    else if(sold1 == 1) //If slamvan is already sold
    {
    GameTextForPlayer(playerid,"~R~slamvan ~W~has already been sold!",3000,already_sold_gametext); //Tell them its sold
    }
    }
    //Blista Compact
    if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 496)
    {
    if(sold2 == 0)
    {
    sold2 = 1;
    sellon[playerid] = 0;
    SetTimerEx("exdel",wait_time*60000, false, "i", playerid); //Set the timer to be able to sell cars again
    new string[128];
    new string2[128];
    format(string2, sizeof(string2), "CAR EXPORT: You must now wait %d minutes to sell another car!",wait_time); //Format "string2"
    SendClientMessage(playerid, COLOR_GREEN,string2); //Send "string2" as a SendClientMessage
    DestroyVehicle(GetPlayerVehicleID(playerid));
    GivePlayerMoney(playerid,blista_price);
    SetPlayerScore(playerid, GetPlayerScore(playerid) + sell_car_bonus );
    format(gtstr, sizeof(gtstr), "~G~blista compact sold for~N~~Y~$%i~W~!",blista_price); //Format "string"
    GameTextForPlayer(playerid,gtstr,3000,sold_for_gametext); //Gametext
    cross2 = CreateObject(3086, -1534.45, 154.05, 2.26, 0.00, 0.00, 180.00);
    SetPlayerCameraPos(playerid,-1534.6313,150.5789,3.5547);
    SetPlayerCameraLookAt(playerid,-1534.4789,153.5749,4.6031);
    SetTimerEx("excam",reset_time*1000, false, "i", playerid);
    PlayerPlaySound(playerid,sell_car_sound,0.0,0.0,0.0);
    new name[16];
    GetPlayerName(playerid,name,16);
    format(string, sizeof(string), "\"%s\" has sold the Blista Compact for $%i!",name,blista_price);
    SendClientMessageToAll(COLOR_GREEN, string);
    }
    else if(sold2 == 1)
    {
    GameTextForPlayer(playerid,"~R~blista compact ~W~has already been sold!",3000,already_sold_gametext);
    }
    }
    //Stafford
    if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 580)
    {
    if(sold3 == 0)
    {
    sold3 = 1;
    sellon[playerid] = 0;
    SetTimerEx("exdel",wait_time*60000, false, "i", playerid); //Set the timer to be able to sell cars again
    new string[128];
    new string2[128];
    format(string2, sizeof(string2), "CAR EXPORT: You must now wait %d minutes to sell another car!",wait_time); //Format "string2"
    SendClientMessage(playerid, COLOR_GREEN,string2); //Send "string2" as a SendClientMessage
    DestroyVehicle(GetPlayerVehicleID(playerid));
    GivePlayerMoney(playerid,stafford_price);
    SetPlayerScore(playerid, GetPlayerScore(playerid) + sell_car_bonus );
    format(gtstr, sizeof(gtstr), "~G~stafford sold for~N~~Y~$%i~W~!",stafford_price); //Format "string"
    GameTextForPlayer(playerid,gtstr,3000,sold_for_gametext); //Gametext
    cross3 = CreateObject(3086, -1534.62, 154.05, 1.99, 0.00, 0.00, 180.00);
    SetPlayerCameraPos(playerid,-1534.6313,150.5789,3.5547);
    SetPlayerCameraLookAt(playerid,-1534.4789,153.5749,4.6031);
    SetTimerEx("excam",reset_time*1000, false, "i", playerid);
    PlayerPlaySound(playerid,sell_car_sound,0.0,0.0,0.0);
    new name[16];
    GetPlayerName(playerid,name,16);
    format(string, sizeof(string), "\"%s\" has sold the Stafford for $%i!",name,stafford_price);
    SendClientMessageToAll(COLOR_GREEN, string);
    }
    else if(sold3 == 1)
    {
    GameTextForPlayer(playerid,"~R~stafford ~W~has already been sold!",3000,already_sold_gametext);
    }
    }
    //Sabre
    if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 475)
    {
    if(sold4 == 0)
    {
    sold4 = 1;
    sellon[playerid] = 0;
    SetTimerEx("exdel",wait_time*60000, false, "i", playerid); //Set the timer to be able to sell cars again
    new string[128];
    new string2[128];
    format(string2, sizeof(string2), "CAR EXPORT: You must now wait %d minutes to sell another car!",wait_time); //Format "string2"
    SendClientMessage(playerid, COLOR_GREEN,string2); //Send "string2" as a SendClientMessage
    DestroyVehicle(GetPlayerVehicleID(playerid));
    GivePlayerMoney(playerid,sabre_price);
    SetPlayerScore(playerid, GetPlayerScore(playerid) + sell_car_bonus );
    format(gtstr, sizeof(gtstr), "~G~sabre sold for~N~~Y~$%i~W~!",sabre_price); //Format "string"
    GameTextForPlayer(playerid,gtstr,3000,sold_for_gametext); //Gametext
    cross4 = CreateObject(3086, -1534.73, 154.05, 1.73, 0.00, 0.00, 180.00);
    SetPlayerCameraPos(playerid,-1534.6313,150.5789,3.5547);
    SetPlayerCameraLookAt(playerid,-1534.4789,153.5749,4.6031);
    SetTimerEx("excam",reset_time*1000, false, "i", playerid);
    PlayerPlaySound(playerid,sell_car_sound,0.0,0.0,0.0);
    new name[16];
    GetPlayerName(playerid,name,16);
    format(string, sizeof(string), "\"%s\" has sold the Sabre for $%i!",name,sabre_price);
    SendClientMessageToAll(COLOR_GREEN, string);
    }
    else if(sold4 == 1)
    {
    GameTextForPlayer(playerid,"~R~Sabre ~W~has already been sold!",3000,already_sold_gametext);
    }


    return reloadexport(playerid);
    }

    WEGEN MEINER RECHTSCHREIBUNG MÖCHTE ICH MICH ENDSCHULDIGEN ICH BIN LEGASTENIGER!!!!!!!!!!!!!

    Einmal editiert, zuletzt von Gambit ()

  • Frage nicht von mir:!


    Jemand will wissen was,

    Zitat

    array must be indexed

    bedeutet.

  • Dann sag deinem Freund ( ;) ) :


    Das passiert bei folgendem.
    Du definierst eine Variable als Array, willst sie dann aber verändern/auslesen, ohne auf...mir fehlt das Wort, die eigentliche Stelle einzugehen. Beispiel


    new i[MAX_PLAYERS];


    ...


    i=1;


    Dann kommt diese Meldung, weil es eigentlich


    i[0]=1; oder i[20]=1; sein muss...hoffe das ist einigermaßen verständlich :P


  • public OnPlayerConnect(playerid)


    {


    KillInfo[playerid][kKills] = 22,KillInfo[playerid][kDeath] = 39;


    return 1;


    }
    Wieso hast du das gemacht ? Der Spieler bekommt beim connecten 22 kills und 39 Deahts ?
    Die einzelnen zahlen kann man auch so addiern

    KillInfo[killerid][kKills] ++;


    KillInfo[playerid][kDeath] ++;

  • Ich hab das gemacht damit ich Testen kann ob die Kill & Death Rate funktioniert.
    Und ich habs mit dem Addiern schon so versucht funktioniert auch nicht.

  • Hallo , ich arbeite grade an meinem Gamemode und hatte versucht das wenn man Connectet das wenn man dann Spawn eine Nachricht bekommt z.B. Du hast dein Zimmer im Hotel verlassen da das aber nur nach dem Connecten passieren soll habe ich eine Abfrage erstellt die sieht so aus
    new Login[64]; // oben im Script
    public OnPlayerConnect(playerid)
    {
    Login[playerid] == 1;
    return 1;
    }
    public OnPlayerSpawn(playerid)
    {
    if(Login == 1)
    {
    SendClientMessage(COLOR_HELLGRUEN, "Du hast dein Zimmer im Hotel verlassen!");
    Login[playerid] == 0
    return 1;
    }
    PlayerPlaySound(playerid, 1098, 0.0, 0.0, 0.0);
    return 1;
    }
    dann kommt
    C:\Users\TEMP\Desktop\SA-MP Server @ 2010\gamemodes\XRPG.pwn(62) : warning 215: expression has no effect
    C:\Users\TEMP\Desktop\SA-MP Server @ 2010\gamemodes\XRPG.pwn(83) : error 033: array must be indexed (variable "Login")
    C:\Users\TEMP\Desktop\SA-MP Server @ 2010\gamemodes\XRPG.pwn(85) : error 035: argument type mismatch (argument 2)
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    2 Errors.
    falls es einen anderen Weg gibt dann mach ich den aber wills trozdem wissen warums net geht :>
    mfg

  • public OnPlayerConnect(playerid)
    {
    Login[playerid] = 1; // Hier war ein fehler
    return 1;
    }
    public OnPlayerSpawn(playerid)
    {
    if(Login == 1)
    {
    SendClientMessage(COLOR_HELLGRUEN, "Du hast dein Zimmer im Hotel verlassen!");
    Login[playerid] = 0; // hier waren 2 fehler
    return 1;// Warum return?
    }
    PlayerPlaySound(playerid, 1098, 0.0, 0.0, 0.0);
    return 1;
    }

  • Hey leutz, ich habe mal ne frage.


    Also, wenn ich in ein Taxi car einsteige, steht dort "Kein Zugriff zu diesem Fahrzeug");


    Aber eigentlich sollte er mich reinlassen, da ich ja der Fraktion 10 = Taxi angehöre.


    Weiß jemand wo es dran liegen kann ?


    if(IsATaxiCar(vehicleid))
    {
    if(Taxi[0] || Taxi[1] || Taxi[2] || Taxi[3] || Taxi[4] || Taxi[5] || Taxi[6] || Taxi[7] || Taxi[8] || Taxi[9] || Taxi[10] || Taxi[11] || Taxi[12] || Taxi[13] || Taxi[14])
    {
    if(pLeader == 10 || pMember == 10)
    {
    SendClientMessage(playerid,COLOR_GREY," Du hast kein Zugriff auf dieses Fahrzeug!");
    TogglePlayerControllable(playerid, 0);
    TogglePlayerControllable(playerid, 1);
    }
    }
    }


    public IsATaxiFahrer(playerid)
    {
    if(IsPlayerConnected(playerid))
    {
    new leader = PlayerInfo[playerid][pLeader];
    new member = PlayerInfo[playerid][pMember];
    if(member == 10)
    {
    return 1;
    }
    else if(leader == 10)
    {
    return 1;
    }
    }
    return 0;
    }


    public IsATaxiCar(carid)
    {
    if(Taxi[carid])
    {
    return 1;
    }
    return 0;
    }