Vergleich mal deinen Code und wie der Befehl bei mir aussieht:
ocmd:pay(playerid,params[])
{
new pID, money;
if(sscanf(params,"ui",pID,money)) return SendClientMessage(playerid,ROT,"[INFO] /pay [ID/Name] [Geld]");
if(IsPlayerConnected(pID) && !IsPlayerNPC(pID))
{
new Float:px;
new Float:py;
new Float:pz;
GetPlayerPos(pID,px,py,pz);
if(IsPlayerInRangeOfPosition(playerid,5.0,px,py,pz))
{
if(money < 1 || money > 99999)
{
if(GetPlayerMoney(playerid) < money) return SendClientMessage(playerid,ROT,"Du hast nicht soviel Geld dabei !");
GivePlayerMoney(playerid,GetPlayerMoney(playerid) -money);
GivePlayerMoney(pID,GetPlayerMoney(pID) +money);
new text1[75];
new text2[75];
new player[MAX_PLAYER_NAME];
GetPlayerName(pID,player,sizeof(player));
format(text1,sizeof text1,"Du hast %d$ von %s erhalten.",money,getname(playerid));
format(text2,sizeof text2,"Du hast %s %d$ übergeben.",player,money);
SendClientMessage(pID,BLAU,text1);
SendClientMessage(playerid,BLAU,text2);
}
else return SendClientMessage(playerid,ROT,"Der Betrag muss zwischen 1$ und 99999$ liegen.");
}
else return SendClientMessage(playerid,ROT,"Der Spieler ist nicht in deiner Reichweite.");
}
else return SendClientMessage(playerid,ROT,"Der Spieler ist nicht online.");
return 1;
}
Beiträge von -audi-
-
-
Ich könnte dir so ein System scripten, für einmalige 5€ mache ich es dir. Meld dich per PN falls Interesse besteht.
-
Vielen Dank ! Es hat funktioniert.
-
Hey Funktioniert immer noch nicht. es wird eine .ini erstellt aber ohne Namen.
-
Ja es wird ja eine .ini erstellt jedoch wird der Name davor nicht angezeigt.
-
Ja habe das gemacht, der Name den ich eingegeben habe wird geprintet.
-
Ja sorry @ Voxa:
Nein, es gibt kein dini_Open oder so Um ein Wert auszulesen einfach Dini_Int,Dini_Get,Dini_Float oder Dini_Bool
um in etwas einzusetzen kommt einfach an Set noch dran.
@ BaRkS ja so habe ich zurzeit mein Code:
ocmd:setwhitelist(playerid,params[])
{
new name[24];
new string[100];
format(string,sizeof string,"/Accounts/%s.ini",getname(playerid));
new white[100];
format(white,sizeof white,"/Whitelist/%s.ini",name);
if(dini_Int(string,"Admin") <= 3)
{
SendClientMessage(playerid,ROT,"Du bist kein Administrator !");
}
if(sscanf(params,"s",name)) return SendClientMessage(playerid,ROT,"[INFO] /setwhitelist [NAME]");
if(dini_Bool(white,"White") == 1)
{
SendClientMessage(playerid,ROT,"Die Person ist bereits auf der Whitelist !");
}
else
{
dini_Create(white);
dini_BoolSet(white,"White",true);
new text[128];
format(text,sizeof text,"Du hast %s erfolgreich auf die Whitelist gesetzt !",name);
SendClientMessage(playerid,BLAU,text);
}
return 1;
}
Damit funktionierts nicht. -
Also es soll so sein: ich gebe den befehl und ein string ein und es wird dann eine .ini namens string erstellt. was soll so schwer daran zu verstehen sein. habe jetzt new name[24]; aber es geht immernoch nicht.
-
Der Spieler, den ich als Admin auf die Whitelist eintrage, ist nicht online. Das ist doch der Sinn. Wenn man nicht auf der Whitelist ist, kommt man nicht auf den Server.
-
Wieso pID ? Das ist doch keine ID die er einträgt. Der muss den Namen eingeben nur den Namen.
-
Hallo zusammen, habe einen /setwhitelist Befehl:
ocmd:setwhitelist(playerid,params[])
{
new name;
new string[100];
new string2[100];
format(string,sizeof string,"/Accounts/%s.ini",getname(playerid));
new white[100];
format(white,sizeof white,"/Whitelist/%s.ini",name);
if(dini_Int(string,"Admin") <= 3)
{
SendClientMessage(playerid,ROT,"Du bist kein Administrator !");
}
if(sscanf(params,"s",name)) return SendClientMessage(playerid,ROT,"[INFO] /setwhitelist [NAME]");
if(dini_Bool(white,"White") == true)
{
SendClientMessage(playerid,ROT,"Die Person ist bereits auf der Whitelist !");
}
else
{
dini_Create(white);
dini_BoolSet(white,"White",true);
new text[128];
format(text,sizeof text,"Du hast %s erfolgreich auf die Whitelist gesetzt !",name);
SendClientMessage(playerid,BLAU,text);
}
return 1;
}
Wenn ich den dann benutze schau ich bei scriptfiles im Whitelist Ordner ist dort eine " .ini" Also ohne Namen, woran liegt das ?
Danke im Voraus !
MfG
Audi -
Okey, das hat geklappt, mit dem new float:health; aber wenn ich dadrunter GetPlayerHealth(playerid,health); mache, kommt wieder das Warning. Außerdem wird "Admins" nicht abgelesen von der .ini. Als ich das getestet habe war Admins= 5 aber es stand nicht dort.
-
Nop, isses nicht, das ist das gleiche..
-
Ah habs auch gesehen, jetzt kommt noch folgendes:
ZitatC:\Users\Sebastian\Desktop\SA-MP 0.3x Server\gamemodes\newreallife.pwn(284) : warning 202: number of arguments does not match definition
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase1 Warning.
?
-
Hallo ich hab ein paar Errors, aber wieso ?:
ZitatC:\Users\Sebastian\Desktop\SA-MP 0.3x Server\gamemodes\newreallife.pwn(284) : warning 202: number of arguments does not match definition
C:\Users\Sebastian\Desktop\SA-MP 0.3x Server\gamemodes\newreallife.pwn(284) : warning 202: number of arguments does not match definition
C:\Users\Sebastian\Desktop\SA-MP 0.3x Server\gamemodes\newreallife.pwn(284) : warning 202: number of arguments does not match definition
C:\Users\Sebastian\Desktop\SA-MP 0.3x Server\gamemodes\newreallife.pwn(284) : warning 202: number of arguments does not match definition
C:\Users\Sebastian\Desktop\SA-MP 0.3x Server\gamemodes\newreallife.pwn(284) : warning 202: number of arguments does not match definition
C:\Users\Sebastian\Desktop\SA-MP 0.3x Server\gamemodes\newreallife.pwn(284) : warning 202: number of arguments does not match definition
C:\Users\Sebastian\Desktop\SA-MP 0.3x Server\gamemodes\newreallife.pwn(284) : error 001: expected token: ",", but found ";"
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase1 Error.
Hier der Code:
if(listitem == 0)
{
new string[128];
new dini[128];
format(dini,sizeof dini,"/Accounts/%s.ini",getname(playerid));
format(string,sizeof string,"Name: %s\nGeld: %d\nLeben: %f\nScore: %d\nAdminlevel: %d\nWarns: %d",getname(playerid,GetPlayerMoney(playerid),GetPlayerHealth(playerid),GetPlayerScore(playerid),dini_Int(dini,"Admin"),dini_Int(dini,"Warns"));
ShowPlayerDialog(playerid,DIALOG_STATS,DIALOG_STYLE_MSGBOX,"Statistiken",string,"Alles","Klar");
}Danke im Vorraus !
-
Vielen Dank !
-
Hallo zusammen. Also ich habe einen /warn Befehl und
ich möchte jetzt dass, "Warns" + die Variable warns gerechnet wird.
dini_IntSet(dini,"Warns",+warns); //So kommen Errors, wie denn ?
Danke im Voraus ! -
Vielen Dank ! Hab mir das banfix Include heruntergeladen. Danke für die Hilfe
-
Hallo zusammen. Ich habe einen /kick Befehl gescriptet:
ocmd:kick(playerid,params[])
{
new pID;
new reason[128];
new string[128];
format(string,sizeof string,"/Accounts/%s.ini",getname(playerid));
if(dini_Int(string,"Admin") <= 1)
{
SendClientMessage(playerid,ROT,"Du bist kein Supporter !");
}
if(sscanf(params,"is",pID,reason)) return SendClientMessage(playerid,ROT,"[INFO] /kick [ID] [Grund]");
if(IsPlayerConnected(pID) && !IsPlayerNPC(pID))
{
new player[MAX_PLAYER_NAME];
new text[128];
new text2[128];
GetPlayerName(pID,player,sizeof(player));
format(text,sizeof text,"Du wurdest von %s gekickt ! Grund: %s",getname(playerid),reason);
format(text2,sizeof text2,"[ADMIN]%s wurde von %s gekickt. Grund: %s",player,getname(playerid),reason);
SendClientMessage(pID,ROT,text);
SendClientMessageToAll(ROT,text2);
Kick(pID);
}
return 1;
}
Ich habe es ausgetestet und habe mich selber gekickt. Jedoch wurde der Text mir nicht angezeigt. Weder text noch text2
obwohl das vor Kick(pID); geschieht. Wieso ? -
Dankeschön, nurnoch der Hier:
ZitatC:\Users\Sebastian\Desktop\SA-MP 0.3x Server\gamemodes\selfmade.pwn(360) : error 029: invalid expression, assumed zero
C:\Users\Sebastian\Desktop\SA-MP 0.3x Server\gamemodes\selfmade.pwn(360) : error 001: expected token: ";", but found ")"
C:\Users\Sebastian\Desktop\SA-MP 0.3x Server\gamemodes\selfmade.pwn(360) : error 029: invalid expression, assumed zero
C:\Users\Sebastian\Desktop\SA-MP 0.3x Server\gamemodes\selfmade.pwn(360) : fatal error 107: too many error messages on one lineCompilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
4 Errors.
In der Zeile:
dini_IntSet(string,"Bank",+strval(inputtext));