Beiträge von Kaliber
-
-
Was gut und was schlecht ist, ist doch immer Geschmackssache, ich denke, dass musst du dir schon selber anschauen und entscheiden.
Gehe die einzelnen Threads doch in Ruhe durch und teste evtl die einzelnen Skripts kurz:
mfg.

-
Im Chat das auszugeben ist nicht so sinnvoll, vor allem wenn es zum Beispiel 10 Admins sind.
Wieso? Man kann doch scrollen
-
Ich hoffe du weißt das die ausgabe sich nicht auf einen dialog bezieht und SendClientMessage ein ausgaben limit von 168 oder mehr zeichen hat.
Daher versetze die erste ausgabe des strings vor die schleife
entferne den zeilenbruch in format und verschiebe SendClientMessage an diese Position, welches den formatierten String enthält.(Mit dem Handy online)
Gutes Argument, gar nicht darauf geachtet...dann sollte er es so schreiben:COMMAND:admins(playerid)
{
new string[12 + MAX_PLAYER_NAME];
for(new i,l=GetMaxPlayers();i<l;i++) {
if(!IsPlayerConnected(i) || !User[i][Admin])continue;
if(!string[0]) SendClientMessage(playerid,GRAU,"Admins online:");
format(string,sizeof string,"%s: %s",Adminrang[User[i][Admin]],PlayerName(i));
SendClientMessage(playerid,GRAU,string);
}
return (!string[0]) ? SendClientMessage(playerid,GRAU,"Es sind keine Admins Online!") : 1;
}mfg.

-
symbol is assigned a value that is never used: "neulingsinfo"
Hat aber nichts mit meinem Code zu tun
Nur du brauchst die PickupID nicht in einer Variable speichern, also lösche folgendes:
new neulingsinfo; //<< brauchst du nicht! also löschen
neulingsinfo = CreatePickup //neulingsinfo = auch löschen..nur CreatePickup stehen lassenSonst bringt das Pickup ja nichts.
Es soll doch auch nur zur Information da sein...denke ich, weil er doch zeigen will, dass man nur da den Befehl nutzen will?mfg.

-
Kannst du einfach so machen:
ocmd:neuling(playerid) {
if(!IsPlayerInRangeOfPoint(playerid,3.0,369.7458,-2049.3774,7.8359)) return SendClientMessage(playerid,-1,"Du befindest dich nicht in der Nähe vom Neulings-Pickup!");
return ShowPlayerDialog(playerid,DIALOG_NEULINGSHILFE, DIALOG_STYLE_MSGBOX,"Neulingshilfe","Hallo und Herzlichen willkommen auf RGR!\n\nHier schon mal einige wichtige Befehle für den Anfang:\n/roller -->Neulingsroller (nur für Level1)\n/navi --> Navigationsmenü\n/sup -->Supportticket an Admins/Supporter\n\nweiter Befehle findest du unter /help!\nBitte beachte unsere Serverregeln im Forum!","Alles Klar","");
}mfg.

-
Probier das mal so.
Das ist aber nicht sehr schön
Schau mal:
for(new i=0;i<GetMaxPlayers();i++)
Ganz schlechte Zeile. Hier fragt er immer wieder den Wert von GetMaxPlayers() ab...besser und schneller wäre deshalb:for(new i,l=GetMaxPlayers();i<l;i++)
Desweiteren, wäre es so besser:
COMMAND:admins(playerid)
{
new string[(12+MAX_PLAYER_NAME) * 5]; //5 = Anzahl der Admins, wenn es mehr gibt, erhöhen
for(new i,l=GetMaxPlayers();i<l;i++) {
if(!IsPlayerConnected(i) || !User[i][Admin])continue;
format(string,sizeof string,"%s\n%s: %s",string,Adminrang[User[i][Admin]],PlayerName(i));
}
if(!string[0]) return SendClientMessage(playerid,GRAU,"Es sind keine Admins Online!");
SendClientMessage(playerid,GRAU,"Admins online:");
SendClientMessage(playerid,GRAU,string);
return 1;
}mfg.

-
Niemand kann den Command nutzen ;/
Probiere es mal so:CMD:pay(playerid, params[])
{
new pID, mon, string[128];
if(sscanf(params, "ud",pID, mon)) return SyntaxMessage(playerid, "/pay [playerid/name] [amount]");
if(mon > 1000 && PlayerInfo[playerid][pLevel] < 3) return SendClientMessage(playerid, GREY, " You must be level 3 to pay more than $1,000 at a time.");
if(mon < 1 || mon > 50000 && PlayerInfo[playerid][pAdmin] < 1337) return SendClientMessage(playerid, GREY, " You cannot pay under $1 or more than $50,000 at a time.");
if(!IsPlayerConnected(pID)) return SendClientMessage(playerid, WHITE, " Not an active player!");
if(pID == playerid) return SendClientMessage(playerid, GREY, " You cannot pay money to yourself.");
if(!ProxDetectorS(5.0, playerid, pID)) return SendClientMessage(playerid, GREY, " You are too far away.");
new playermoney = PlayerInfo[playerid][pCash];
if(mon <= 0 || playermoney < mon) return SendClientMessage(playerid, GREY1, "Invalid transaction amount.");
PlayerInfo[playerid][pCash] -= mon;
GivePlayerMoney(playerid, -mon);
PlayerInfo[pID][pCash] += mon;
GivePlayerMoney(pID, mon);
format(string, sizeof(string), " You have sent %s(player: %d), $%d.", pName(pID), pID, mon);
SendClientMessage(playerid, GREY1, string);
format(string, sizeof(string), " You have recieved $%d from %s(player: %d).", mon, pName(playerid), playerid);
SendClientMessage(pID, GREY1, string);
if(PlayerInfo[playerid][pMask] == 1) format(string, sizeof(string), "* Stranger takes out some Cash, and hands it to %s.",pName(pID));
else format(string, sizeof(string), "* %s takes out some Cash, and hands it to %s.", pName(playerid),pName(pID));
ProxDetector(30.0, playerid, string, PURPLE,PURPLE,PURPLE,PURPLE,PURPLE);
PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
PlayerPlaySound(pID, 1052, 0.0, 0.0, 0.0);
new plrIP[16],giveplrIP[16];
GetPlayerIp(playerid, plrIP, sizeof(plrIP)),GetPlayerIp(pID, giveplrIP, sizeof(giveplrIP));
format(string, sizeof(string), "%s (IP:%s) (Key:%d) (ConTime:%d) has paid $%d to %s (IP:%s) (Key:%d)", pName(playerid),plrIP,PlayerInfo[playerid][pKey], PlayerInfo[playerid][pConnectTime],mon,pName(pID),giveplrIP,PlayerInfo[pID][pKey]);
PayLog(string);
return 1;
}mfg.

-
Eine deiner Includes (nicht die Streamer.inc) hookt den Callback OnPlayerConnect falsch

Zeig mal, was du noch für Includes einbindest

mfg.

-
Hahahaa

Das ist mal ein lustiger Thread

Oh ja, am Anfang, Pawn war auch meine erste Sprache und das alles ist ewig lang her...ich glaub so um die 7-8 Jahre

Ich hatte das nie mit diesem return; gerafft und nie verstanden wo an was das jetzt zurück gibt und was das genau bewirkt

Hatte dann meistens immer so einen Code:
new x = 0;
SendClientMessage(playerid,-1,"hi");
return 1;
x++;
SendClientMessage(playerid,-1,"hi");
return;und ich hatte das mit den ID's nie verstanden xD Was jetzt pID...oder playerid ist, was da vom Parameter kommt, nein ich hatte keine Ahnung, habe das immer schön gemixxt und mich dann gewundert, warum das nicht ging

Oder sowas hier:
if(!strcmp(cmd,"/test")) {
new pID;
SCM(pID,-1,"hi");
}Dachte man kann das dann direkt nutzen ohne Wertzuweisung

Viel Spaß beim lachen

-
Schreib es so:
if(sSpieler[killerid][pWanted] == 5 && sSpieler[killerid][pPremium] == 0)
{
new string[64];
SetPlayerWantedLevel(killerid,0);
sSpieler[killerid][pWanted] = 0;
format(string,sizeof(string),"~>~ ~g~Neues Level: ~w~%d ~<~",GetPlayerScore(killerid)+ 1);
GameTextForPlayer(killerid, string, 5000, 2)
SetPlayerScore(killerid,GetPlayerScore(killerid)+1);
return 1;
}mfg.

-
-
jedoch wird er nicht in der .ini geändert, wenn man ihn ändert.
Dann zeig doch mal, wie du es speicherst
-
Doch.. alles wird richtig gespeichert
Dann ist doch alles richtig?!
-
oder er speichert den PIN nicht richtig.
Mein Vorschlag ist u.a. richtig, dann speicherst du nicht richtig
-
new pin[GrößeDesArrays] = inputtext;
new pin = strval(inputtext);
Und was ist, wenn er als erste Ziffer eine 0 stehen haben will?
Schreib es einfach so:
if(dialogid == DIALOG_PINWECHSEL)
{
if(!response) return 1;
if(!inputtext[0]) return SCM(playerid,-1,"Bitte geben sie auch einen Pin ein!");
format(playerD[playerid][PIN],16,inputtext);
}mfg.

-
[19:46:20] Script[gamemodes/GeTmyselfmade.amx]: Run time error 19: "File or function is not found"
Wie bei 1000 Posts zuvor, die du sicher gefunden hättest, wenn du nach dieser Meldung gesucht hättest, fehlen native Funktionen von einem Plugin
Aus diesem Grund, downloade dir mal den nativechecker und poste mal, was dann in den Logs steht.
mfg.

-
Hab es drin also davor schon
Hast du TeamViewer? Dann mach ich es dir schnell
-
Hab bisher noch nie mit PAWN gearbeitet und will auch eigentlich nur diesen Befehl.
Du musst dir die ocmd Include downloaden und oben ins Skript einbinden:[ INCLUDE ] ocmd 2.1.1 [ Update 3.11.2013 ]
mfg.

-