Weiß jemand eine Lösung, vielleicht jemand von den etwas erfahrenen Scriptern?
Beiträge von alva
-
-
Moin,
ocmd:makeadmin(playerid,params[])
{
if(IsPlayerAdmin(playerid))
{
new pid,admin,string[128];
if(sscanf(params,"ui",pid,admin))return SendClientMessage(playerid,COLOR_WHITE,"Benutzung: /makeadmin [ID/Name] [Rang]");
if(GetPVarInt(pid,"loggedin")== 0)return SendClientMessage(playerid,COLOR_GREY,"Der Spieler ist nicht eingeloggt!");
if(admin > 4)return SendClientMessage(playerid,COLOR_WHITE,"Ungültiger Rang, Maximal 4.");
SetPVarInt(pid,"admin",admin);
format(string,sizeof(string),"Du wurdest von %s zum Teammitglied Rang %i ernannt!",PlayerName(playerid),admin);
SendClientMessage(pid,BLAU,string);
}
else
{
SendClientMessage(playerid,COLOR_WHITE,"Du bist kein RCON Admin!");
}
return 1;
}ggf. Anpassen usw.
Hier wird abgefragt, ob du ein RCON Admin bist, also ingame vorher /rcon login [Passwort] -
Genau Eddy, das hat mir nicht weitergeholfen, trotzdem danke
stock IsPlayerInArea(playerid,Float:minX,Float:minY,Float:maxX,Float:maxY)
{
new Float:pX,Float:pY,Float:pZ;
GetPlayerPos(playerid,pX,pY,pZ);
if(pX >= minX && pX <= maxX && pY >= minY && pY <= maxY) return 1;
else return 0;
}Ich denke mal der Stock ist richtig.
-
Moin,
Ich habe ein Problem mit meinen NO-DM Zonen System ( Naja, ich weiß nicht ob ich es System nennen kann. )
Jedenfalls, habe ich ein Textdraw erstellt und dies sollte kommen, wenn man in die Zone geht.
Dazu habe ich ein Public erstellt, welches unter OnGameModeInit alle 1,5 Sekunden aufgerufen wird.
Hier das Public:public Nodm_Abfrage()
{
for(new i;i<MAX_PLAYERS; i++)
for(new nodmsys;nodmsys<sizeof(NoDmSystem);nodmsys ++)
{
if(GetPVarInt(i,"loggedin") == 0)continue;
if(IsPlayerInArea(i,NoDmSystem[nodmsys][MinX],NoDmSystem[nodmsys][MinY],NoDmSystem[nodmsys][MaxX],NoDmSystem[nodmsys][MaxY]))
{
TextDrawShowForPlayer(i,Text:blackTD);
}
else
{
TextDrawHideForPlayer(i,Text:blackTD);
}
}
return 1;
}Jedoch, wenn jemand in die Zone geht, kommt kein Textdraw.
Wenn ich es so machen würde:if(IsPlayerInArea(i,1813.8855,-1862.1486,1698.2018,-1948.9227))
Klappt es, aber halt nur für die angegebene Zone.
Hier das Enum und das andere, KP wie man es nennt
enum nodm
{
Float:MinX,
Float:MinY,
Float:MaxX,
Float:MaxY,
ZoneID
};
new NoDmSystem[][nodm]=
{
/*MinX, MinY, MaxX, MaxY*/
{1813.8855,-1862.1486,1698.2018,-1948.9227}, // Zivispawn
{1060.145,-1721.339,1166.624,-1583.168},
{}
};Ich hoffe ihr könnt mir weiterhelfen.
Gruß,
-
-
Meiner Meinung nach ist ein WBB Forum am übersichtlichsten und am einfachsten, daher reicht es auch vom Preisleistungsverhältnis her.
VBulletin hat bestimmt seine Qualitäten, jedoch finde ich es ein wenig unübersichtlich. -
Vielen Dank, hab das bisschen verwechselt und dachte das man auch "u" verwenden kann.
Thema erledigt. -
Hey Leute, ich habe ein Problem und zwar möchte ich bestimmten Parametern etwas zuweisen.
Ich arbeite mit OCMD hierbei ( weiß nicht ob es wichtig ist. )
Bisher sieht mein Versuch so aus:
ocmd:paratest(playerid,params[])
{
new para;
if(sscanf(params,"u",para))return SendClientMessage(playerid,COLOR_WHITE,"Benutzung: /paratest [Parameter]");
if(para < 1 || para > 3)return SendClientMessage(playerid,COLOR_WHITE,"Ungültiger Parameter, nur (1-3).");
if(para == 1){SendClientMessageToAll(COLOR_RED,"PARAMETER 1!");}
if(para == 2){SendClientMessageToAll(COLOR_YELLOW,"PARAMETER 2!");}
if(para == 3){SendClientMessageToAll(COLOR_WHITE,"PARAMETER 3!");}
return 1;
}
Nur, wenn ich ingame nun /paratest 1 schreibe, kommt nichts im Chat, also die SendClientMessageToAll ist einfach für mich eine Überprüfung ob es funktioniert, ich glaube ihr wisst was ich meine.
Könnt ihr mir erklären wie man Parametern etwas zuweist?Viele Grüße,
-
Sry, ich komm mit den PWN dingens nicht klar:
public OnPlayerShootPlayer(Shooter,Target,Float:HealthLost,Float:ArmourLost)
{
new string[128];
format(string,sizeof(string)," - %f 0.0 HP",HealthLost);
SetPlayerChatBubble(Target, string, 0x00FF28FF, 70.0, 1000*3);
return 1;
} -
hey habe mal ne Frage
Ich habe eine normale definierte Farbe. Wie kann ich diese jetzt in eine Farbeumwandel für ne Message also so SendClientMessage(playerid, Blau, "{MEINEFARBE} lalala"); ?/edit Farbe ist diese: 0x2641FEAA
"#define Blau 0x2641FEAA" oben im Script oder was meinst du ?^^
-
Du hast warscheinlich im Scriptfiles Ordner die ganzen Verzeichnisse wie "Accounts" usw. vergessen.
-
Einfach unter OnGameModeInit schreiben, dann werden die Roleplay Laufstile benutzt.
-
loose indication -> falsch eingerückt
Genau, einfach ganz oben im Script folgendes schreiben, wie auch schon oben genannt:
#pragma tabsize 0 -> Damit werden die Tabsprünge = 0 gezählt, das heißt, der Code braucht nicht mehr richtig eingerückt werden, es ist Theoretisch egal ob du bei einem if 5 Tabsrünge machst und bei was anderen wieder 2 oder 3. -
Was hat denn der /makeadmin Befehl mit MySQL zu tun? Du kannst doch weiterhin mit Set/GetPVarInt/Str/Float arbeiten... Nur musst du halt die Werte aus der Datenbank beim Verbinden des Spielers in die PVars eintragen und beim Disconnect in die Datenbank wieder speichern
Danke dir.
Hab mir schon Maddins Tutorial angeguckt. -
Heyho, ich wollte mal fragen wie ich bei MysQL ein Adminsystem machen kann?
Ich bräuchte eigentlich nur ein Beispiel und den Stock. Habe nichts in der Suchfunktion gefunden, falls ihr mir einen Direktklinkl schicken könnnt wäre das auch gut. Das Filterscript von Goldkiller wollte ich mir anschauen, aber ich kann es mir nicht downloaden.
Mit dem Beispiel mein ich das:
ocmd:makeadmin(playerid,params) // darunter bitte ein Beispiel.
(ab hier weiß ich nicht weiter, habe vorher mit PVars gearbeitet.)
-
Sollte nun nicht mehr so sein da ja nun 0.3e Da ist....
Hm, ich scripte noch mit 0.3d Sergej :>
Aber trotzdem danke für die Antwort, das verschafft mir klarheit. -
Hm, sobald man bei mir Spawnt, wird der Spieler automatisch gekickt.
PS: Schönes Tutorial, sehr gute erklärung.
11/10E: # Fixxed:
Man sollte die Login Dialoge und Register Dialoge bei public OnPlayerConnect machen, ansonsten kann es passieren das man gekickt wird, wie es bei mir der Fall ist.
-
Ich versteh nicht so genau weßhalb er beim Disconnecten das Register Dialog zeigen will, normalerweise gehört des doch unter OnPlayerConnect
public OnPlayerConnect(playerid)
{
ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Registrieren","Gib bitte das gewünschte Passwort ein:","Register","Abbrechen");
return 1;
} -
Hey, hat leider nichts gebracht, ich glaube es liegt daran, das die HP direkt wieder auf 100 gesetzt wird.
Ich versuch mal das Explosion über den GetPlayerHealth zu machen und schauen was passiert, trotzdem danke für deinen Hilfsversuch!Gruß,
E:
Ich weiß nun woran es liegt, aber ich weiß nicht wie ich es Scripten soll
Es liegt daran, das die HP zu schnell wieder auf 100 gesetzt sind un die Abfrage nach dem Leben nach der Explosion einfach zu langsam ist, daher bräuchte ich einen Timer, der nach ca. 0,5-1 Sekunde erst Abfragt wie viel Leben der Spieler hat. -
Du musst die Dialoge auch definieren,
oben im Scipt einfach folgendes:#define DIALOG_REIGSTER 1
#define DIALOG_xyz 2 ( <- beim nächsten Dialog muss eine 2, beim nächsten eine 3 usw.)Und ich glaube das Die Buchstaben Ö,Ä,Ü PAWNO nicht bekannt sind, deshalb:
#define 0x19FF00FF GRUEN
Gruß,