Ich benutze dieses Plugin seit paar Tagen. Und ich muss sagen, es bringt mir viel mehr Spaß damit zu programmieren als mit PAWN. Dazu noch Schneller und ÜBERSICHTLICHER !
Beiträge von Spikes
-
-
Hallo,
ich hab eine Aduty Funktion hier im Forum gefunden. Ich hab sie etwas abgeändert. Ein Problem besteht aber, der 3D text wirt NICHT gelöscht.
CMD:aduty(playerid,params[])
{
if(!isPlayerAnAdmin(playerid,1))return SendClientMessage(playerid,0xFFFFFF,"{FFFF00}[SERVER] {FF0000}Diesen Befehl kannst du nicht nutzen.");
new Text3D:ADuty[MAX_PLAYER_NAME],adminduty[128];
new Float:X, Float:Y, Float:Z;
if(AdminDuty[playerid] == 0)
{
format(adminduty,sizeof(adminduty),"{FFFF00}[SERVER] {00FF0A}%s ist im Admindienst.",SpielerName(playerid));
SendClientMessageToAll(ROT,adminduty);
SetPlayerSkin(playerid,279);
GetPlayerPos (playerid, X, Y, Z);
ADuty[playerid] = Create3DTextLabel("*ADMIN*",ROT,X,Y,Z,40.0,0,0);
Attach3DTextLabelToPlayer(ADuty[playerid], playerid, 0.0, 0.0, 0.25);
AdminDuty[playerid] = 1;
}
else
{
SetPlayerSkin(playerid,GetPVarInt(playerid,"Skin"));
AdminDuty[playerid] = 0;
Delete3DTextLabel(ADuty[playerid]);
format(adminduty,sizeof(adminduty),"{FFFF00}[SERVER] {00FF0A}%s ist nicht mehr im Admindienst.",SpielerName(playerid));
SendClientMessageToAll(ROT,adminduty);
}
return 1;
} -
@BTT: Mein Server ist mit Y_Ini immer abgestürtzt, erklären kann ich mir das aber bis heute nicht O.o
Also bei mir Stürzt er nur bei dieser Funktion ab. Eine ähnliche Funktion hab ich bei der Registrierung - da crasht der Server nicht.
-
-
hallo ich bin es mal wieder.
if(dialogid==DIALOG_TODO_DIALOG1)
{
if(response==0)
{
SendClientMessage(playerid,BLAU,"Menu geschlossen.");
return 1;
}
if(response==1)
{
if(!strlen(inputtext))
{
SendClientMessage(playerid,BLAU,"Der Text war nicht langgenug.");
ShowPlayerDialog(playerid,DIALOG_TODO_DIALOG1,DIALOG_STYLE_INPUT,"Set > Todoliste > Dialog 1","Schreib bitte dein neuen Text hier rein!","Setzen!","Zurück");
return 1;
}
else
{
new string[128];
format(string,128,"%s",inputtext);
dini_Set("Data/Dialog.txt","Dialog",string);
SendClientMessage(playerid, ROT,"Gespeichert");
return 1;
}
}
}Diese Funktion lässt meinen Linux SAMP server crashen. Aus unbekannten Gründen.
-
Hallo.
Ich versuche seit paar Stunden aus deiner .txt datei ein Text auszulesen.
Dies Funktioniert nicht aber nicht so wie ich es will.
Ich bitte euch darum mir ein Tipp zu geben.CMD:test(playerid,params[])
{
new Datei[64], string[256], thing[256];
format(Datei,64,"Test.txt");
thing = dini_Get(Datei,"Dialog");
format(string, sizeof(string), "Test => %s", dini_Get(Datei,"Dialog"));
SendClientMessage(playerid, GRÜN, string);
ShowPlayerDialog(playerid,DIALOG_ADMINHELP,DIALOG_STYLE_MSGBOX,"{4169E1}Todo Liste",string, "Schließen","");
return 1;
}Test.txt
Dialog=Test132213132. Das ist ein Test!Mfg,
Spikes
Edit: Habs hinbekommen. Problem => Zeilen Umbrüche. Wie kann ich die machen? \n geht nicht.
-
CMD:call(playerid,params[])
{
new nummer, String[128];
if(sscanf(params,"i",nummer))return SendClientMessage(playerid,0xFFFFFF,"* /call [Nummer]");
if(GetPVarInt(playerid,"Nummer") >= 0)
{
for(new i; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(GetPVarInt(i,"Nummer") == nummer)
{
if(GetPVarInt(i,"Anrufen") == 1 || 2 || 3)
{
SendClientMessage(playerid, GELB, "Handy: Der gewünschte Gesprächspartner telefoniert bereits. Versuchen Sie es später erneut.");
return 1;
}
else
{
SetPVarInt(playerid,"Anrufen",1);
SetPVarInt(i,"AnrufenNummer",GetPVarInt(playerid,"Nummer"));
SetPVarInt(playerid,"AnrufenNummer",nummer);
SetPVarInt(i,"Anrufen",2);
format(String, 128, "Handy: %s ruft dich an...", SpielerName(playerid));
SendClientMessage(i, GELB, String);
format(String, 128, "Handy: Du rufst %s an...", SpielerName(i));
SendClientMessage(playerid, GELB, String);
return 1;
}
}
}
}
SendClientMessage(playerid,COLOR_RED,"Kein Anschluss unter dieser Nummer");
return 1;
}
SendClientMessage(playerid,COLOR_RED,"Du hast kein Handy!");
return 1;
}Wo ist da der Fehler das es immer kommt "Der gewünschte Gesprächspartner telefoniert bereits. Versuchen Sie es später erneut."
Und nicht die Funktion da unter ausführt. -
-
ocmd:o(playerid,params[])
{
if(!isPlayerAnAdmin(playerid,1))return SendClientMessage(playerid,0xFFFFFF,"Du drafst den Befehl nicht benutzen.");
new string[128];
if(sscanf(params,"s",string))return SendClientMessage(playerid,COLOR_GREY,"Nutze: /o [MESSAGE]");
if(isPlayerAnAdmin(playerid,2012))
{
format(string,sizeof(string),"{FF0019}(( Projektleiter %s : %s ))",SpielerName(playerid),string);
SendClientMessageToAll(COLOR_OOC,string);
return 1;
}
else if(isPlayerAnAdmin(playerid,2011))
{
format(string,sizeof(string),"{FF0069}(( Stellv.Porjektleiter %s : %s ))",SpielerName(playerid),string);
SendClientMessageToAll(COLOR_OOC,string);
return 1;
}
else if(isPlayerAnAdmin(playerid,2000))
{
format(string,sizeof(string),"{FF6E00}(( High-Admin %s : %s ))",SpielerName(playerid),string);
SendClientMessageToAll(COLOR_OOC,string);
return 1;
}
else if(isPlayerAnAdmin(playerid,1500))
{
format(string,sizeof(string),"{FFA000}(( Admin %s : %s ))",SpielerName(playerid),string);
SendClientMessageToAll(COLOR_OOC,string);
return 1;
}
else if(isPlayerAnAdmin(playerid,1000))
{
format(string,sizeof(string),"{FFC800}(( High-Supporter %s : %s ))",SpielerName(playerid),string);
SendClientMessageToAll(COLOR_OOC,string);
return 1;
}
else if(isPlayerAnAdmin(playerid,500))
{
format(string,sizeof(string),"{EBFF00}(( Moderator %s : %s ))",SpielerName(playerid),string);
SendClientMessageToAll(COLOR_OOC,string);
return 1;
}
else if(isPlayerAnAdmin(playerid,1))
{
format(string,sizeof(string),"{B9FF00}(( Supporter %s : %s ))",SpielerName(playerid),string);
SendClientMessageToAll(COLOR_OOC,string);
return 1;
}
return 1;
} -
Weil in deinem Stock >= steht.
Wenn du == machst, ist es behoben.
Nachteil:
Denn gehen seine Admin befehle die er mit IsPlayerAnAdmin gemacht hat nur z.b. mit den Admin Rank 1 und nicht höher... -
Ich würde es so machen
ocmd:o(playerid,params[])
{
if(!isPlayerAnAdmin(playerid,1))return SendClientMessage(playerid,0xFFFFFF,"Du drafst den Befehl nicht benutzen.");
new string[128];
if(sscanf(params,"s",string))return SendClientMessage(playerid,COLOR_GREY,"Nutze: /o [MESSAGE]");
if(isPlayerAnAdmin(playerid,2012))
{
format(string,sizeof(string),"{FF0019}(( Projektleiter %s : %s ))",SpielerName(playerid),string);
SendClientMessageToAll(COLOR_OOC,string);
return 1;
}
else if(isPlayerAnAdmin(playerid,2011))
{
format(string,sizeof(string),"{FF0069}(( Stellv.Porjektleiter %s : %s ))",SpielerName(playerid),string);
SendClientMessageToAll(COLOR_OOC,string);
return 1;
}
else if(isPlayerAnAdmin(playerid,2000))
{
format(string,sizeof(string),"{FF6E00}(( High-Admin %s : %s ))",SpielerName(playerid),string);
SendClientMessageToAll(COLOR_OOC,string);
return 1;
}
else if(isPlayerAnAdmin(playerid,1500))
{
format(string,sizeof(string),"{FFA000}(( Admin %s : %s ))",SpielerName(playerid),string);
SendClientMessageToAll(COLOR_OOC,string);
return 1;
}
else if(isPlayerAnAdmin(playerid,1000))
{
format(string,sizeof(string),"{FFC800}(( High-Supporter %s : %s ))",SpielerName(playerid),string);
SendClientMessageToAll(COLOR_OOC,string);
return 1;
}
else if(isPlayerAnAdmin(playerid,500))
{
format(string,sizeof(string),"{EBFF00}(( Moderator %s : %s ))",SpielerName(playerid),string);
SendClientMessageToAll(COLOR_OOC,string);
return 1;
}
else if(isPlayerAnAdmin(playerid,1))
{
format(string,sizeof(string),"{B9FF00}(( Supporter %s : %s ))",SpielerName(playerid),string);
SendClientMessageToAll(COLOR_OOC,string);
return 1;
}
} -
Versuch es so.
ocmd:o(playerid,params[])
{
new string[128];
if(sscanf(params,"s",string))return SendClientMessage(playerid,COLOR_GREY,"Nutze: /o [MESSAGE]");
if(isPlayerAnAdmin(playerid,2012))
{
format(string,sizeof(string),"{FF0019}(( Projektleiter %s : %s ))",SpielerName(playerid),string);
}
else if(isPlayerAnAdmin(playerid,2011))
{
format(string,sizeof(string),"{FF0069}(( Stellv.Porjektleiter %s : %s ))",SpielerName(playerid),string);
}
else if(isPlayerAnAdmin(playerid,2000))
{
format(string,sizeof(string),"{FF6E00}(( High-Admin %s : %s ))",SpielerName(playerid),string);
}
else if(isPlayerAnAdmin(playerid,1500))
{
format(string,sizeof(string),"{FFA000}(( Admin %s : %s ))",SpielerName(playerid),string);
}
else if(isPlayerAnAdmin(playerid,1000))
{
format(string,sizeof(string),"{FFC800}(( High-Supporter %s : %s ))",SpielerName(playerid),string);
}
else if(isPlayerAnAdmin(playerid,500))
{
format(string,sizeof(string),"{EBFF00}(( Moderator %s : %s ))",SpielerName(playerid),string);
}
else if(isPlayerAnAdmin(playerid,1))
{
format(string,sizeof(string),"{B9FF00}(( Supporter %s : %s ))",SpielerName(playerid),string);
}
SendClientMessageToAll(COLOR_OOC,string);
return 1;
} -
CMD:respawncars(playerid,params[])
{
if(!isPlayerAnLeader(playerid,1))return SendClientMessage(playerid,GRAU,"*Diesen Befehl kannst du nicht nutzen.");
if(GetPVarInt(playerid,"Fraktion")==1)
{
#pragma unused params
new bool:VehicleUsed[MAX_VEHICLES] = false;
for(new pv=0; pv<MAX_PLAYERS; pv++)
{
if(IsPlayerInAnyVehicle(pv)) VehicleUsed[GetPlayerVehicleID(pv)] = true;
}
for(new pv=0; pv<sizeof(lspd); pv++)
{
if(VehicleUsed[pv] == false) SetVehicleToRespawn(lspd[pv]);
}
SendClientMessage(playerid,GRAU, "Du hast deine Fraktionsautos erfolgreich zurückgespawnt!");
return 1;
}
return 1;
}Es Respawn alle Autos auch die in Benutzung sind.
Bei meinen Admin Command funktioniert es. (respawnt alle Autos auf den Sever)CMD:vrespawn(playerid,params[])
{
#pragma unused params
if(!isPlayerAnAdmin(playerid,3))return SendClientMessage(playerid,0xFFFF00,"[SERVER] {FF0000}Diesen Befehl kannst du nicht nutzen.");
new bool:VehicleUsed[MAX_VEHICLES] = false;
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerInAnyVehicle(i)) VehicleUsed[GetPlayerVehicleID(i)] = true;
}
for(new i = 0; i < MAX_VEHICLES; i++)
{
if(VehicleUsed[i] == false) SetVehicleToRespawn(i);
}
return SendClientMessageToAll(GELB,"[SERVER] {FF0000}Alle Fahrzeuge ohne Fahrer wurden gespawnt.");
}Bitte um eure Hilfe!
-
-
Hallo!
Meine /sms Funktion lässt aus nicht erklärbaren gründen den Server crashen.
CMD:sms(playerid,params[])
{
new nummer,text;
if(sscanf(params,"is",nummer,text))return SendClientMessage(playerid,0xFFFFFF,"* /sms [Nummer] [Text]");
for(new i; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(GetPVarInt(i,"Nummer") == nummer)
{
new string[128],string1[128];
format(string,sizeof(string),"SMS <<:%s |NUMMER: %i",text,GetPVarInt(i,"Nummer"));
SendClientMessage(i,GELB,string);
format(string1,sizeof(string1),"SMS >> %s",text);
SendClientMessage(playerid,GELB,string1);
return 1;
}
}
}
SendClientMessage(playerid,COLOR_RED,"Kein Anschluss unter dieser Nummer");
return 1;
}Bitte um hilfe!
-
Hallo!
CMD:setrank(playerid,params[])
{
if(GetPVarInt(playerid,"Leader") == 0)return SendClientMessage(playerid,0xFFFFFF,"{FFFF00}[SERVER] {FF0000}Diesen Befehl kannst du nicht nutzen.");
new pID, rank;
if(sscanf(params,"ui",pID,rank))return SendClientMessage(playerid,0xFFFFFF,"{FFFF00}[SERVER] {005555}/setrank [PartOfName/PlayerID] [Rank]");
if(rank<0||rank>6)return SendClientMessage(playerid,ROT,"*Bitte gültigen Rang angeben.");
if(IsPlayerConnected(pID))
{
SetPVarInt(pID,"FRank",rank);
new neulohn[64];
if(GetPVarInt(playerid,"Fraktion") == 1)
{
switch(GetPVarInt(pID,"FRank"))
{
case 0:{neulohn="0";}
case 1:{neulohn="2000";}
case 2:{neulohn="4000";}
case 3:{neulohn="6000";}
case 4:{neulohn="8000";}
case 5:{neulohn="10000";}
case 6:{neulohn="12000";}
}
}
else if(GetPVarInt(playerid,"Fraktion") == 2)
{
switch(GetPVarInt(pID,"FRank"))
{
case 0:{neulohn="0";}
case 1:{neulohn="2200";}
case 2:{neulohn="4400";}
case 3:{neulohn="6600";}
case 4:{neulohn="8800";}
case 5:{neulohn="11000";}
case 6:{neulohn="13600";}
}
}
else if(GetPVarInt(playerid,"Fraktion") == 3)
{
switch(GetPVarInt(pID,"FRank"))
{
case 0:{neulohn="0";}
case 1:{neulohn="1500";}
case 2:{neulohn="3000";}
case 3:{neulohn="4500";}
case 4:{neulohn="6000";}
case 5:{neulohn="7500";}
case 6:{neulohn="9000";}
}
}
else if(GetPVarInt(playerid,"Fraktion") == 4)
{
switch(GetPVarInt(pID,"FRank"))
{
case 0:{neulohn="0";}
case 1:{neulohn="1500";}
case 2:{neulohn="3000";}
case 3:{neulohn="4500";}
case 4:{neulohn="6000";}
case 5:{neulohn="7500";}
case 6:{neulohn="9000";}
}
}
else if(GetPVarInt(playerid,"Fraktion") == 5)
{
switch(GetPVarInt(pID,"FRank"))
{
case 0:{neulohn="0";}
case 1:{neulohn="1000";}
case 2:{neulohn="2000";}
case 3:{neulohn="3000";}
case 4:{neulohn="4000";}
case 5:{neulohn="5000";}
case 6:{neulohn="6000";}
}
}
else if(GetPVarInt(playerid,"Fraktion") == 6)
{
switch(GetPVarInt(pID,"FRank"))
{
case 0:{neulohn="0";}
case 1:{neulohn="2200";}
case 2:{neulohn="4400";}
case 3:{neulohn="6600";}
case 4:{neulohn="8800";}
case 5:{neulohn="11000";}
case 6:{neulohn="13600";}
}
}
else if(GetPVarInt(playerid,"Fraktion") == 7)
{
switch(GetPVarInt(pID,"FRank"))
{
case 0:{neulohn="0";}
case 1:{neulohn="1500";}
case 2:{neulohn="3000";}
case 3:{neulohn="4500";}
case 4:{neulohn="6000";}
case 5:{neulohn="7500";}
case 6:{neulohn="9000";}
}
}
else if(GetPVarInt(playerid,"Fraktion") == 8)
{
switch(GetPVarInt(pID,"FRank"))
{
case 0:{neulohn="0";}
case 1:{neulohn="1500";}
case 2:{neulohn="3000";}
case 3:{neulohn="4500";}
case 4:{neulohn="6000";}
case 5:{neulohn="7500";}
case 6:{neulohn="9000";}
}
}
else if(GetPVarInt(playerid,"Fraktion") == 9)
{
switch(GetPVarInt(pID,"FRank"))
{
case 0:{neulohn="0";}
case 1:{neulohn="1500";}
case 2:{neulohn="3000";}
case 3:{neulohn="4500";}
case 4:{neulohn="6000";}
case 5:{neulohn="7500";}
case 6:{neulohn="9000";}
}
}
else if(GetPVarInt(playerid,"Fraktion") == 10)
{
switch(GetPVarInt(pID,"FRank"))
{
case 0:{neulohn="0";}
case 1:{neulohn="1500";}
case 2:{neulohn="3000";}
case 3:{neulohn="4500";}
case 4:{neulohn="6000";}
case 5:{neulohn="7500";}
case 6:{neulohn="9000";}
}
}
else if(GetPVarInt(playerid,"Fraktion") == 11)
{
switch(GetPVarInt(pID,"FRank"))
{
case 0:{neulohn="0";}
case 1:{neulohn="1500";}
case 2:{neulohn="3000";}
case 3:{neulohn="4500";}
case 4:{neulohn="6000";}
case 5:{neulohn="7500";}
case 6:{neulohn="9000";}
}
}
else if(GetPVarInt(playerid,"Fraktion") == 12)
{
switch(GetPVarInt(pID,"FRank"))
{
case 0:{neulohn="0";}
case 1:{neulohn="1500";}
case 2:{neulohn="3000";}
case 3:{neulohn="4500";}
case 4:{neulohn="6000";}
case 5:{neulohn="7500";}
case 6:{neulohn="9000";}
}
}
else if(GetPVarInt(playerid,"Fraktion") == 0)
{
switch(GetPVarInt(playerid,"Lohn"))
{
case 0:{neulohn="0";}
case 1:{neulohn="0";}
case 2:{neulohn="0";}
case 3:{neulohn="0";}
case 4:{neulohn="0";}
case 5:{neulohn="0";}
case 6:{neulohn="0";}
}
}
SetPVarInt(pID,"Lohn",neulohn);
SpielerSpeichern(pID);
SendClientMessage(pID,GRÜN,"Du du ein neuen Rank erhalten. Herzlichen Glückwunsch");
SendClientMessage(playerid,GRÜN,"*Du hast jemand ein neuen Rank gegeben");
return 1;
}
return 1;
}Wo ist da der Error? >> C:\Users\Spikes\Desktop\Testserver\gamemodes\rp.pwn(1752) : error 035: argument type mismatch (argument 3) (Error zeile SetPVarInt(pID,"Lohn",neulohn);)
-
Danke. Funktioniert!
-
Hallo!
Ich bekomme ein error andauernd..
den ich nicht weg bekomme..Der Error
C:\Users\Spikes\Desktop\Testserver\gamemodes\rp.pwn(665) : error 025: function heading differs from prototype
public OnPlayerTakeDamage(playerid, issuerid, Float:amount, weaponid){ if(isPlayerInFrakt(issuerid,12)){ if(weaponid == 34){SetPlayerHealth(playerid, -0);return 1;} } return 1;}Bitte um Hilfe!
Danke!