Beiträge von Darklight

    Screens mache ich immer mit der F8-Taste.
    Habe es gerade eben mit der DRUCK-Taste ausprobiert, da funktioniert alles perfekt.


    Aber ein anderes Programm, bzw. die DRUCK-Taste möchte ich eigentlich nicht benutzen, da sie umständlicher wären.

    Hey :D


    ich habe momentan ein kleines Problem.
    Und zwar jedes mal wenn ich ein Screen mache, wird auf diesem Screen kein Chat angezeigt.
    Dabei habe ich den Chat im Game sichtbar und sonst habe ich eigentlich auch nichts rumgebastelt.


    Neuinstallation hatte ich schonmal versucht, hat aber nichts gebracht.
    Wisst ihr zufällig was da falsch läuft ?

    Hey :D


    bin momentan einer Suche.
    Gibt es die Möglichkeit unter OnPlayerKeyStateChange die Rechte Maustaste (Zielen) zu bekommen ?


    PS: In der GetPlayerKeys-Liste bin ich momentan und finde es nicht ...

    Hey :D


    hab mal zwei kurze Fragen.
    1. Gibt es in Pawno einen Key für die Zielentaste (Rechtsklick) ?
    2. Was ist eigentlich der Unterschied zwischen 'newkeys' und 'oldkeys' ?


    Wäre sehr nett wenn mir jemand helfen könnte.

    Hast du darauf geachtet das die Variable "Geld" zurückgesetzt wird sobald sich der Spieler registriert.
    Sonst kann es sein das der sich registrierende Spieler das Geld von einem Spieler bekommt.

    Du kannst das ganze mit sscanf (hoffe du weist was dies ist) überprüfen.
    Das heißt:
    new zahl;
    if(sscanf(inputtext,"d",zahl)) {
    return SendClientMessage(playerid,FARBE,"Bitte gib eine gültige Zahl ein.");

    Hey :D


    ich habe ein kleines Problem.
    Und zwar habe ich gehört dass man den RCON in SA:MP ausschalten kann, indem man hinter das rcon_password eine 0 setzt.
    Bei mir sieht das jetzt so aus:

    Code
    rcon_password 0


    Nur leider komme ich jetzt mit "/rcon login 0" immer noch als RCON rein und kann auch z.B. den Server neustarten, etc.


    Habe ich irgendetwas falsch gemacht ?

    So sollte es funktionieren (ungetestet):
    forward Tazertime(pID);
    ocmd:tazer(playerid,params[])
    {
    if(GetPVarInt(playerid,"Leader") == 1 || GetPVarInt(playerid,"Member") == 1)
    {
    new Float:x, Float:y, Float:z;
    GetPlayerPos(playerid,x,y,z);
    new string[280], pID;
    {
    if(IsPlayerConnected(pID))
    {
    if(IsPlayerInRangeOfPoint(playerid,6,x,y,z))
    {
    TogglePlayerControllable(pID,0);
    format(string,sizeof string,"~b~Taze\n~r~Du ~r~wurdest ~r~getazert");
    GameTextForPlayer(pID,string,4000,3);
    SetTimerEx("Tazertime",10000,0,"i",pID);
    }
    }
    }
    }
    return 1;
    }


    public Tazertime(pID)
    {
    TogglePlayerControllable(pID,0);
    }

    Das geht eigentlich relativ einfach.
    Du schreibst unter OnGameModeInit() -> ManualVehicleEngineAndLights();
    Du kannst dann im Script mit SetVehicleParamsEx die Lichter des Autos an/aus machen.

    So wie ich das jetzt sehe soll für den Spieler eine ID angegeben werden. Machs doch mit ReturnUser, dann kannste Namen oder ID eingeben.
    Steht denn dann auch der exakte Spielername dort?


    Ich versteh dich jetzt nicht ganz.
    Im Dialog "DIALOG_KASSEN_AUSZAHLEN" wird von dem Leader ein Spielername angegeben. Dieser kann sowohl als ID als auch als Name eingetragen werden.
    Im Dialog "DIALOG_KASSEN_AUSZAHLEN_SPIELER" wird von dem Leader ein Geldbetrag eingetragen, der dem Spieler (normalerweise) dann gegeben wird.


    Der ganze exakte Spielername wird am Ende als Nachricht mit ausgegeben. Siehe in Zeile 247|248.


    //edit: Kann es vllt möglich sein, dass die Variable SpielerName im Dialog "DIALOG_KASSEN_AUSZAHLEN" zwar als Speicherort für die ID des Spielers genommen wird, aber im Dialog "DIALOG_KASSEN_AUSZAHLE_SPIELER" wieder den Wert 1 erhält ?

    Tag :D


    Ich bin momentan an einem Fraktionskassen-System dran. Das ganze soll in Dialogen ablaufen und mit dini funktionieren.
    Sowohl das Einzahlen in die Fraktionskasse, als auch den Aktuellen Kassenstand abfragen funktioniert ohne Probleme.
    Die dritte Funktion beinhaltet das Auszahlen eines Betrages an einen beliebigen Spieler.
    Und genau da hat das System anscheinend ein Problem.


    Problem: Wenn ich als Leader auf "Auszahlen" gehe, werde ich nach dem Namen des Spielers gefragt, der das Geld erhalten soll. Nach richtiger Eingabe eines Spielernamens, werde ich auf einen neuien Dialog weitergeleitet, welcher verlangt, die Höhe des Betrages einzugeben. Wird dieser korrekt eingegeben, sollte das Geld normalerweise an den Spieler, im oben angegebenen Dialog, geschickt werden. Dies erfolgt aber nicht, die Nachricht, das das Geld an den Spieler gegeben wird, sowie der Abzug des Geldes in der Fraktionskasse erfolgt dennoch.


    Ich hoffe ihr könnt den Fehler finden.


    Hier der Code:
    //**Defines**//
    #define DIALOG_KASSEN_MEMBER 10
    #define DIALOG_KASSEN_LEADER 11
    #define DIALOG_KASSEN_EINZAHLEN 12
    #define DIALOG_KASSEN_STAND 13
    #define DIALOG_KASSEN_AUSZAHLEN 14
    #define DIALOG_KASSEN_AUSZAHLEN_SPIELER 15


    //**Dialoge**//
    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    new aName[MAX_PLAYER_NAME],SpielerName; //Habe ich hier oben definiert, damit in jedem Dialog darauf zugegriffen werden kann.
    if(dialogid == DIALOG_KASSEN_MEMBER) {
    if(response == 1) {
    new kPfad[50];
    format(kPfad,sizeof(kPfad),"Fraktionskasse.dini");
    switch(listitem) {
    case 0: {
    switch(pInfo[playerid][Fraktion]) {
    case 1: {
    new msg[150];
    format(msg,sizeof(msg),"Fraktion: S.E.K.\nAktueller Kassenstand: %d$",dini_Int(kPfad,"SEK"));
    ShowPlayerDialog(playerid,DIALOG_KASSEN_EINZAHLEN,DIALOG_STYLE_INPUT,"Fraktionskasse - Einzahlen",msg,"Eingabe","Zurück");
    }
    case 2: {
    new msg[150];
    format(msg,sizeof(msg),"Fraktion: Terroristen\nAktueller Kassenstand: %d$",dini_Int(kPfad,"Terroristen"));
    ShowPlayerDialog(playerid,DIALOG_KASSEN_EINZAHLEN,DIALOG_STYLE_INPUT,"Fraktionskasse - Einzahlen",msg,"Eingabe","Zurück");
    }
    }
    }
    case 1: {
    switch(pInfo[playerid][Fraktion]) {
    case 1: {
    new msg[100];
    format(msg,sizeof(msg),"Fraktion: S.E.K.\nAktueller Kassenstand: %d$",dini_Int(kPfad,"SEK"));
    ShowPlayerDialog(playerid,DIALOG_KASSEN_STAND,DIALOG_STYLE_MSGBOX,"Fraktionskasse - Kassenstand",msg,"Zurück","Einzahlen");
    }
    case 2: {
    new msg[100];
    format(msg,sizeof(msg),"Fraktion: Terroristen\nAktueller Kassenstand: %d$",dini_Int(kPfad,"Terroristen"));
    ShowPlayerDialog(playerid,DIALOG_KASSEN_STAND,DIALOG_STYLE_MSGBOX,"Fraktionskasse - Kassenstand",msg,"Zurück","Einzahlen");
    }
    }
    }
    }
    }
    }
    if(dialogid == DIALOG_KASSEN_LEADER) {
    if(response == 1) {
    new kPfad[50];
    format(kPfad,sizeof(kPfad),"Fraktionskasse.dini");
    switch(listitem) {
    case 0: {
    switch(pInfo[playerid][Leader]) {
    case 1: {
    new msg[150];
    format(msg,sizeof(msg),"Fraktion: S.E.K.\nAktueller Kassenstand: %d$",dini_Int(kPfad,"SEK"));
    ShowPlayerDialog(playerid,DIALOG_KASSEN_EINZAHLEN,DIALOG_STYLE_INPUT,"Fraktionskasse - Einzahlen",msg,"Eingabe","Zurück");
    }
    case 2: {
    new msg[150];
    format(msg,sizeof(msg),"Fraktion: Terroristen\nAktueller Kassenstand: %d$",dini_Int(kPfad,"Terroristen"));
    ShowPlayerDialog(playerid,DIALOG_KASSEN_EINZAHLEN,DIALOG_STYLE_INPUT,"Fraktionskasse - Einzahlen",msg,"Eingabe","Zurück");
    }
    }
    }
    case 1: {
    switch(pInfo[playerid][Leader]) {
    case 1: {
    new msg[150];
    format(msg,sizeof(msg),"Fraktion: S.E.K.\nAktueller Kassenstand: %d$\nAn welchen Spieler möchtest du Geld auszahlen?",dini_Int(kPfad,"SEK"));
    ShowPlayerDialog(playerid,DIALOG_KASSEN_AUSZAHLEN,DIALOG_STYLE_INPUT,"Fraktionskasse - Auszahlen",msg,"Eingabe","Zurück");
    }
    case 2: {
    new msg[150];
    format(msg,sizeof(msg),"Fraktion: Terroristen\nAktueller Kassenstand: %d$\nAn welchen Spieler möchtest du Geld auszahlen?",dini_Int(kPfad,"Terroristen"));
    ShowPlayerDialog(playerid,DIALOG_KASSEN_AUSZAHLEN,DIALOG_STYLE_INPUT,"Fraktionskasse - Auszahlen",msg,"Eingabe","Zurück");
    }
    }
    }
    case 2: {
    switch(pInfo[playerid][Leader]) {
    case 1: {
    new msg[100];
    format(msg,sizeof(msg),"Fraktion: S.E.K.\nAktueller Kassenstand: %d$",dini_Int(kPfad,"SEK"));
    ShowPlayerDialog(playerid,DIALOG_KASSEN_STAND,DIALOG_STYLE_MSGBOX,"Fraktionskasse - Kassenstand",msg,"Zurück","Einzahlen");
    }
    case 2: {
    new msg[100];
    format(msg,sizeof(msg),"Fraktion: Terroristen\nAktueller Kassenstand: %d$",dini_Int(kPfad,"Terroristen"));
    ShowPlayerDialog(playerid,DIALOG_KASSEN_STAND,DIALOG_STYLE_MSGBOX,"Fraktionskasse - Kassenstand",msg,"Zurück","Einzahlen");
    }
    }
    }
    }
    }
    }
    if(dialogid == DIALOG_KASSEN_EINZAHLEN) {
    if(response == 0) {
    if(pInfo[playerid][Leader] >= 1) {
    return ShowPlayerDialog(playerid,DIALOG_KASSEN_LEADER,DIALOG_STYLE_LIST,"Fraktionskasse - Leadermenü","Einzahlen\nAuszahlen\nKassenstand","Auswählen","Abbrechen");
    }
    else {
    return ShowPlayerDialog(playerid,DIALOG_KASSEN_MEMBER,DIALOG_STYLE_LIST,"Fraktionskasse - Membermenü","Einzahlen\nKassenstand","Auswählen","Abbrechen");
    }
    }
    if(response == 1) {
    new pName[MAX_PLAYER_NAME],kPfad[50],money;
    GetPlayerName(playerid,pName,sizeof(pName));
    format(kPfad,sizeof(kPfad),"Fraktionskasse.dini");
    switch(pInfo[playerid][Fraktion]) {
    case 1: {
    if(sscanf(inputtext,"d",money)) {
    new msg[128];
    format(msg,sizeof(msg),"Fraktion: S.E.K.\nAktueller Kassenstand: %d$",dini_Int(kPfad,"SEK"));
    ShowPlayerDialog(playerid,DIALOG_KASSEN_EINZAHLEN,DIALOG_STYLE_INPUT,"Fraktionskasse - Einzahlen",msg,"Eingabe","Zurück");
    return SendClientMessage(playerid,GRAU,"Bitte gebe einen gültigen Wert ein.");
    }
    new Gesamt = dini_Int(kPfad,"SEK") + money;
    dini_IntSet(kPfad,"SEK",Gesamt);
    new msg[128];
    GivePlayerMoney(playerid,-money);
    format(msg,sizeof(msg),"[Fraktion] Spieler %s gab %d$ in die Fraktionskasse",pName,money);
    SendFraktionMessage(pInfo[playerid][Fraktion],ORANGE,msg);
    }
    case 2: {
    if(sscanf(inputtext,"d",money)) {
    new msg[128];
    format(msg,sizeof(msg),"Fraktion: Terroristen\nAktueller Kassenstand: %d$",dini_Int(kPfad,"Terroristen"));
    ShowPlayerDialog(playerid,DIALOG_KASSEN_EINZAHLEN,DIALOG_STYLE_INPUT,"Fraktionskasse - Einzahlen",msg,"Eingabe","Zurück");
    return SendClientMessage(playerid,GRAU,"Bitte gebe einen gültigen Wert ein.");
    }
    new Gesamt = dini_Int(kPfad,"Terroristen") + money;
    dini_IntSet(kPfad,"Terroristen",Gesamt);
    new msg[128];
    GivePlayerMoney(playerid,-money);
    format(msg,sizeof(msg),"[Fraktion] Spieler %s gab %d$ in die Fraktionskasse",pName,money);
    SendFraktionMessage(pInfo[playerid][Fraktion],ORANGE,msg);
    }
    }
    }
    }
    if(dialogid == DIALOG_KASSEN_STAND) {
    new kPfad[50];
    format(kPfad,sizeof(kPfad),"Fraktionskasse.dini");
    if(response == 1) {
    if(pInfo[playerid][Leader] >= 1) {
    return ShowPlayerDialog(playerid,DIALOG_KASSEN_LEADER,DIALOG_STYLE_LIST,"Fraktionskasse - Leadermenü","Einzahlen\nAuszahlen\nKassenstand","Auswählen","Abbrechen");
    }
    else if(pInfo[playerid][Fraktion] >= 1) {
    return ShowPlayerDialog(playerid,DIALOG_KASSEN_MEMBER,DIALOG_STYLE_LIST,"Fraktionskasse - Membermenü","Einzahlen\nKassenstand","Auswählen","Abbrechen");
    }
    }
    if(response == 0) {
    switch(pInfo[playerid][Fraktion]) {
    case 1: {
    new msg[150];
    format(msg,sizeof(msg),"Fraktion: S.E.K.\nAktueller Kassenstand: %d",dini_Int(kPfad,"SEK"));
    ShowPlayerDialog(playerid,DIALOG_KASSEN_EINZAHLEN,DIALOG_STYLE_INPUT,"Fraktionskasse - Einzahlen",msg,"Eingabe","Zurück");
    }
    case 2: {
    new msg[150];
    format(msg,sizeof(msg),"Fraktion: Terroristen\nAktueller Kassenstand: %d",dini_Int(kPfad,"Terroristen"));
    ShowPlayerDialog(playerid,DIALOG_KASSEN_EINZAHLEN,DIALOG_STYLE_INPUT,"Fraktionskasse - Einzahlen",msg,"Eingabe","Zurück");
    }
    }
    }
    }
    if(dialogid == DIALOG_KASSEN_AUSZAHLEN) {
    new kPfad[50];
    format(kPfad,sizeof(kPfad),"Fraktionskasse.dini");
    if(response == 0) {
    ShowPlayerDialog(playerid,DIALOG_KASSEN_LEADER,DIALOG_STYLE_LIST,"Fraktionskasse - Leadermenü","Einzahlen\nAuszahlen\nKassenstand","Auswählen","Abbrechen");
    }
    if(response == 1) {
    switch(pInfo[playerid][Leader]) {
    case 1: {
    if(sscanf(inputtext,"u",SpielerName)) {
    new msg[150];
    format(msg,sizeof(msg),"Fraktion: S.E.K.\nAktueller Kassenstand: %d$\nAn welchen Spieler möchtest du Geld auszahlen?",dini_Int(kPfad,"SEK"));
    ShowPlayerDialog(playerid,DIALOG_KASSEN_AUSZAHLEN,DIALOG_STYLE_INPUT,"Fraktionskasse - Auszahlen",msg,"Eingabe","Zurück");
    return SendClientMessage(playerid,GRAU,"Bitte gib einen richtigen Spieler an.");
    }
    GetPlayerName(SpielerName,aName,sizeof(aName));
    new msg[150];
    format(msg,sizeof(msg),"Fraktion: S.E.K.\nAktueller Kassenstand: %d$\nGeldübergabe an Spieler: %s\nGeben sie den zu übergebenden Betrag an:",dini_Int(kPfad,"SEK"),aName);
    ShowPlayerDialog(playerid,DIALOG_KASSEN_AUSZAHLEN_SPIELER,DIALOG_STYLE_INPUT,"Fraktionskasse - Auszahlen",msg,"Auszahlen","Zurück");
    }
    case 2: {
    if(sscanf(inputtext,"u",SpielerName)) {
    new msg[150];
    format(msg,sizeof(msg),"Fraktion: Terroristen\nAktueller Kassenstand: %d$\nAn welchen Spieler möchtest du Geld auszahlen?",dini_Int(kPfad,"Terroristen"));
    ShowPlayerDialog(playerid,DIALOG_KASSEN_AUSZAHLEN,DIALOG_STYLE_INPUT,"Fraktionskasse - Auszahlen",msg,"Eingabe","Zurück");
    return SendClientMessage(playerid,GRAU,"Bitte gib einen richtigen Spieler an.");
    }
    GetPlayerName(SpielerName,aName,sizeof(aName));
    new msg[128];
    format(msg,sizeof(msg),"Fraktion: Terroristen\nAktueller Kassenstand: %d$\nGeldübergabe an Spieler: %s\nGeben sie den zu übergebenden Betrag an:",dini_Int(kPfad,"Terroristen"),aName);
    ShowPlayerDialog(playerid,DIALOG_KASSEN_AUSZAHLEN_SPIELER,DIALOG_STYLE_INPUT,"Fraktionskasse - Auszahlen",msg,"Auszahlen","Zurück");
    }
    }
    }
    }
    if(dialogid == DIALOG_KASSEN_AUSZAHLEN_SPIELER) {
    new kPfad[50],money;
    format(kPfad,sizeof(kPfad),"Fraktionskasse.dini");
    if(response == 0) {
    switch(pInfo[playerid][Leader]) {
    case 1: {
    new msg[150];
    format(msg,sizeof(msg),"Fraktion: S.E.K.\nAktueller Kassenstand: %d$\nAn welchen Spieler möchtest du Geld auszahlen?",dini_Int(kPfad,"SEK"));
    ShowPlayerDialog(playerid,DIALOG_KASSEN_AUSZAHLEN,DIALOG_STYLE_INPUT,"Fraktionskasse - Auszahlen",msg,"Eingabe","Zurück");
    }
    case 2: {
    new msg[150];
    format(msg,sizeof(msg),"Fraktion: Terroristen\nAktueller Kassenstand: %d$\nAn welchen Spieler möchtest du Geld auszahlen?",dini_Int(kPfad,"Terroristen"));
    ShowPlayerDialog(playerid,DIALOG_KASSEN_AUSZAHLEN,DIALOG_STYLE_INPUT,"Fraktionskasse - Auszahlen",msg,"Eingabe","Zurück");
    }
    }
    }
    if(response == 1) {
    switch(pInfo[playerid][Leader]) {
    case 1: {
    if(sscanf(inputtext,"d",money)) {
    new msg[150];
    format(msg,sizeof(msg),"Fraktion: S.E.K.\nAktueller Kassenstand: %d$\nGeldübergabe an Spieler: %s\nGeben sie den zu übergebenden Betrag an:",dini_Int(kPfad,"SEK"),aName);
    ShowPlayerDialog(playerid,DIALOG_KASSEN_AUSZAHLEN_SPIELER,DIALOG_STYLE_INPUT,"Fraktionskasse - Auszahlen",msg,"Auszahlen","Zurück");
    return SendClientMessage(playerid,GRAU,"Bitte gebe eine gültigen Wert an.");
    }
    GivePlayerMoney(SpielerName,money);
    new msg[128],pName[MAX_PLAYER_NAME];
    GetPlayerName(playerid,pName,sizeof(pName));
    format(msg,sizeof(msg),"[Fraktion] Leader %s gab Spieler %s %d$ aus der Fraktionskasse",pName,aName,money);
    return SendFraktionMessage(1,ORANGE,msg);
    }
    case 2: {
    if(sscanf(inputtext,"d",money)) {
    new msg[150];
    format(msg,sizeof(msg),"Fraktion: Terroristen\nAktueller Kassenstand: %d$\nGeldübergabe an Spieler: %s\nGeben sie den zu übergebenden Betrag an:",dini_Int(kPfad,"Terroristen"),aName);
    ShowPlayerDialog(playerid,DIALOG_KASSEN_AUSZAHLEN_SPIELER,DIALOG_STYLE_INPUT,"Fraktionskasse - Auszahlen",msg,"Auszahlen","Zurück");
    return SendClientMessage(playerid,GRAU,"Bitte gebe eine gültigen Wert an.");
    }
    GivePlayerMoney(SpielerName,money);
    new msg[128],pName[MAX_PLAYER_NAME];
    GetPlayerName(playerid,pName,sizeof(pName));
    format(msg,sizeof(msg),"[Fraktion] Leader %s gab Spieler %s %d$ aus der Fraktionskasse",pName,aName,money);
    return SendFraktionMessage(2,ORANGE,msg);
    }
    }
    }
    }
    return 1;
    }

    Nope.
    Das hier kommt beim englischen raus:

    Code
    C:\Users\Andreas\Desktop\SA-MP\gamemodes\lif.pwn(73) : error 001: expected token: "-identifier-", but found "-integer value-"
    Pawn compiler 3.2.3664	 	 	Copyright (c) 1997-2006, ITB CompuPhase
    
    
    
    
    1 Error.


    //edit: Auch deine Lösung stimmt nicht Tommyx3. Ob mit oder ohne Komma am Schluss es (würde) trotzdem funktionieren. Der Fehler bleibt also immer noch da.
    Nur wenn ich alles aus dem enum lösche, geht der Fehler weg :(