Hier hat sich doch der Fehlerteufel eingeschlichen:
public OnPlayerEnterDynamicCP(playerid, checkpointid)
{
if(checkpointid == cp1)
{
DestroyDynamicCP(checkpointid);
SendClientMessage(playerid, COLOR_RED, "Du hast den Checkpoint erreicht");
return 1;
{
if((checkpointid == GetPVarInt(playerid, "PlayerCarThief_Checkpoint0")
[SAMMELTHREAD] Kleine Scripting Fragen
- Rafelder
- Unerledigt
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
-
-
Vor:
if((checkpointid == GetPVarInt(playerid, "PlayerCarThief_Checkpoint0")
die "{" muss "}" sein. Sonst gehen zwei Klammern auf und keine zu.und:
if((checkpointid == GetPVarInt(playerid, "PlayerCarThief_Checkpoint0")
zu:
if(checkpointid == GetPVarInt(playerid, "PlayerCarThief_Checkpoint0")) -
Beitrag von Dean_Conery ()
Dieser Beitrag wurde gelöscht, Informationen über den Löschvorgang sind nicht verfügbar. -
-
Mit:
DestroyDynamicCP(GetPVarInt(playerid, "PlayerCarThief_Checkpoint0"));Je nach dem wie der Rest deines Systems aufgebaut ist.
-
Dieser Code war nur für dich zum sehen das davor meine abfrage endet. Es geht nur um den cp1 - cpxyz
-
Du könntest ja die ID des aktiven Checkpoints in eben so eine Variable speichern, dann kannst du ihn so löschen.
Da ich deinen Code nicht kenne kann ich es dir nicht genauer sagen. -
Beitrag von James.Spader ()
Dieser Beitrag wurde gelöscht, Informationen über den Löschvorgang sind nicht verfügbar. -
ocmd:unban(playerid,params[])
{
if(SpielerInfo[playerid][pAlevel] >= 1)
{
new pID,string[256],aname[MAX_PLAYERS],unbanname[MAX_PLAYER_NAME],query[256];
GetPlayerName(playerid,aname,sizeof(aname));
if(sscanf(params,"s[24]",unbanname)) return SendClientMessage(playerid,0xFF0000FF,"[FEHLER]{FFFFFF} /UnBan [Name]");
/*if(mysql_GetInt("spielertimebanned", "Banned", "Name", unbanname) == 1)
{
format(query,sizeof(query),"DELETE FROM user WHERE `Name`='%s'",unbanname);
mysql_query(query);
format(string,sizeof(string),"[A-INFO]{FFFFFF} Der Timeban von %s wurde von %s vollständig gelöscht(TimeBan-Entfernt)!",unbanname,aname);
SendAdminMessage(0xFF0000FF,string);
}*/
if(mysql_GetInt("user", "Banned", "Name", unbanname) == 1)
{
format(query, sizeof(query), "INSERT INTO `user` (`Banned`) VALUES (0)",SpielerInfo[pID][pBanned]);
mysql_query(query);
format(string,sizeof(string),"[A-INFO]{FFFFFF} %s hat den Ban von %s vollständig gelöscht!(Ban-Entfernt)",unbanname,aname);
SendAdminMessage(0xFF0000FF,string);
}
else if(SpielerInfo[pID][pBanned] == 0 || mysql_CheckTBanAccount(pID) == 0)
{
SendClientMessage(playerid,0xFF0000FF,"[FEHLER] {FFFFFF}Dieser Spieler wurde nicht gebannt!");
}
}
return 1;
}Habe zwar geschafft dass erkannt beim Banned aber es wird eine neue spalte hinzugefügt?
-
Das richtige query wäre:
format(query,sizeof(query),"UPDATE user SET Banned = 0 WHERE Name='%s'",unbanname); -
Okay, und wie wär dass mit den Timeban? Das der Timeban entfertn wird?
/*if(mysql_GetInt("spielertimebanned", "???", "Name", unbanname) == 1)
{
format(query,sizeof(query),"DELETE FROM user WHERE `Name`='%s'",unbanname);
mysql_query(query);
format(string,sizeof(string),"[A-INFO]{FFFFFF} Der Timeban von %s wurde von %s vollständig gelöscht(TimeBan-Entfernt)!",unbanname,aname);
SendAdminMessage(0xFF0000FF,string);
}*/ -
Moin,
kleine Frage, ich suche ein Rundes Object sowas wie ein Kreis worin ich einen Player setzen kann, das Object sollte einseitig textturiert sein.
Sodass ausenstehend das Objekt nicht sehen.
Ich glaub es gab mal eine Rampe oder so? Bitte die ID nennen wäre nett.L.G.
-
Okay, und wie wär dass mit den Timeban? Das der Timeban entfertn wird?
Je nach dem wie deine Spalte für den Timeban heißt.
format(query,sizeof(query),"UPDATE user SET TimeBanned = 0 WHERE Name='%s'",unbanname); -
hallo com ich arbeite gerade an mein toten system und wiederbeleben system aber weiß gerade nicht weiter
/wb||/wiederbeleben
unswa sieht es bisher so aus
und ich weiß nicht wie ich bei dem /wiederbeleben befehl abfragen soll ob er bei der stelle des toten spielers ist//Oben
new TotenKopf[MAX_PLAYERS];
new Text3D:TotenName[MAX_PLAYERS];//OnPlayerDisconnect
DestroyPickup(TotenKopf[playerid]);
Delete3DTextLabel(TotenName[playerid]);public OnPlayerDeath(playerid, killerid, reason)
{
sInfo[playerid][PTot] = 1;
new Float:px,Float:py,Float:pz,pv,pi,string[80];
GetPlayerPos(playerid, px,py,pz);
GetPlayerVirtualWorld(playerid,pv);
GetPlayerInterior(playerid,pi);
TotenKopf[playerid] = CreatePickup(1254,1,px,py,pz);
format(string,sizeof(string),"Leichen Name\nvon %s",getPlayerName(playerid));
TotenName[playerid] = Create3DTextLabel(string,GRAU,px,py,pz,10,pi,pv);
format(string, sizeof(string),"Der Spieler %s ID %i ist soeben gestorben!",getPlayerName(playerid),playerid);
SendOndutyMedicMessage(GELB,string);
return 1;
}ocmd:tote(playerid)
{
if(!isPlayerInFrakt(playerid,3)) return SendClientMessage(playerid,ROT,"Du bist Kein Notarzt!");
if(sInfo[playerid][mduty] == 1)
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(sInfo[i][PTot] == 1)
{
new string[200];
SendClientMessage(playerid,ROT,".:Tote Spieler:.");
format(string,sizeof(string),"%s || ID %i",getPlayerName(playerid),playerid);
SendClientMessage(playerid,GELB,string);
return 1;
}
else
{
SendClientMessage(playerid,ROT,"Es gibtr zu Zeit keine Toten User");
return 1;
}
}
}
}
else
{
SendClientMessage(playerid,ROT,"Du bist nicht als Notarzt Onduty!");
return 1;
}
return 1;
}ocmd@2:wb,wiederbeleben(playerid,params[])
{
if(!isPlayerInFrakt(playerid,3)) return SendClientMessage(playerid,ROT,"Du bist Kein Notarzt!");
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(IsPlayerInRangeOfPoint(playerid,//hier weiß ich nicht wie ich abfragen soll ob er an der stelle vom toten ist oder nicht)
{return 1;
}
else
{
SendClientMessage(playerid,ROT,"Du bist bei keinem Toten Spieler");
return 1;
}
}
}
return 1;
}ocmd:awb(playerid,params[])
{
new pID,string[128];
if(!isAdmin(playerid,1337)) return SendClientMessage(playerid,ROT,"Info: Du bist dazu nicht befugt!");
if(sInfo[playerid][adminduty] == 0) return SendClientMessage(playerid,ROT,"Du bist nicht Aduty!");
if(sscanf(params, "u", pID)) return SendClientMessage(playerid, ROT, "/awd [ID]");
format(string,sizeof(string),"Du hast %s dich mit Hilfe von Adminrechten wiederbelebt!",getPlayerName(pID));
printf("%s hat den Spieler %s mit Hilfe von Adminrechten wiederbelebt)",getPlayerName(playerid),getPlayerName(pID));
SendClientMessage(playerid,ROT,string);
format(string,sizeof(string),"%s %s hat dich mit Hilfe von Adminrechten wiederbelebt!",arang(playerid),getPlayerName(playerid));
SendClientMessage(pID,GELB,string);
sInfo[pID][PTot] = 0;
SpawnPlayer(pID);
DestroyPickup(TotenKopf[playerid]);
Delete3DTextLabel(TotenName[playerid]);
return 1;
}//OnPlayerSpawn
if(sInfo[playerid][PTot] == 1)
{
SendClientMessage(playerid,GELB,"Du bist gestorben!");
SetPlayerVirtualWorld(playerid,89);
SetPlayerPos(playerid,816.6987,-1103.0229,25.7914);
}Kannst du mir da weiter helfen ?
-
Solche Fragen gehören eigentlich in einen eigenen Thread, da das keine "kleine Frage" ist (so viel Code macht diesen Thread sehr unübersichtlich, vor allem wenn es nicht gleich klappt).
Ich erkläre dir mal wie du vorgehen musst:
Du erstellst global unter den Includes folgende Variable:
new Float:totenKopfPos[MAX_PLAYERS][3];Beim Erstellen des Totenkopfs speicherst du dann x in totenKopfPos[playerid][0], y in [1] und z in [2].
Beim /wiederbeleben dann in das IsPlayerInRangeOfPoint die totenKopfPos[i][0] bis 3 packen.
Wenn du Fragen hast, kannst du natürlich gerne nachfragen.
-
ocmd:unban(playerid,params[])
{
new name[50],string[128],pID;
if(SpielerInfo[playerid][pAdminlevel] < 3) return SendClientMessage(playerid,Rot,"M�glich ab: "COLO" Adminrank 3");
if(!IsPlayerConnected(pID)) return SendClientMessage(playerid,Rot,"Keiner ist Verbunden mit dieser ID!");
if(sscanf(params,"s[50]",name))return SendClientMessage(playerid,Rot,""COLO"Verwendung: "COLR"/unban [Name]");
mysql_SetInt(Tabelle_Spieler,"Ban",0,"Name",GetName(pID));
format(string,sizeof(string),"Du hast den Spieler %s ungebannt!",GetName(pID));
SendClientMessage(playerid,Rot,string);
return 1;
}
Ist das so richtig? -
Ein Spieler der gebannt ist kann ja schlecht online sein.
Also so:
ocmd:unban(playerid,params[])
{
new name[50],string[128];
if(SpielerInfo[playerid][pAdminlevel] < 3) return SendClientMessage(playerid,Rot,"Möglich ab: "COLO" Adminrank 3");
if(sscanf(params,"s[50]",name))return SendClientMessage(playerid,Rot,""COLO"Verwendung: "COLR"/unban [Name]");
mysql_SetInt(Tabelle_Spieler,"Ban",0,"Name",name);
format(string,sizeof(string),"Du hast den Spieler %s ungebannt!",name);
SendClientMessage(playerid,Rot,string);
return 1;
} -
Je nach dem wie deine Spalte für den Timeban heißt.
format(query,sizeof(query),"UPDATE user SET TimeBanned = 0 WHERE Name='%s'",unbanname);Bei mir ist aber eine ganze Datenbank , nicht unter User.. sonder hat seine eigene... das soll dann einfach gelöscht werden, ich weiß nur nicht wie ich drauf zugreifen kann..
-
Das kann ich dir leider auch nicht sagen, ich kann ja nicht hellsehen, wie deine Datenbank bzw Tabelle heißt und aufgebaut ist.
Wenn du diese Informationen postest, dann kann ich oder jemand anderes dir auch helfen. -
Beitrag von [PeL]Smiley ()
Dieser Beitrag wurde gelöscht, Informationen über den Löschvorgang sind nicht verfügbar.