Wie kann Ich einen Spieler einen Baseballschläger wegnehmen ohne:
ResetPlayerWeapons zu nutzen weil mit.
GivePlayerWeapon(playerid,3,-1);
geht es ja leider nicht irgendwelche ideen ?
Wie kann Ich einen Spieler einen Baseballschläger wegnehmen ohne:
ResetPlayerWeapons zu nutzen weil mit.
GivePlayerWeapon(playerid,3,-1);
geht es ja leider nicht irgendwelche ideen ?
Nein Sie Connecten nicht es kommt nichtmal bis dahin habe ein print eingebaut und dieser Code wird nicht erreicht was kein sinn ergibt weil, Ich alle anderen möglichkeiten wo Sie beim Spawnen gestört werden könnten, Übersprungen
Hallo Leute, habe wie folgt meinen NPC connecten lassen.
ConnectNPC("Lucky","ImbissWagen1");
ConnectNPC("Lucky2","ImbissWagen2");
ConnectNPC("Eis1","EisWagen1");
ConnectNPC("Eis2","EisWagen2");
Und diesen Text bei OnPlayerSpawn.
if(IsPlayerNPC(playerid))
{
new botname[MAX_PLAYER_NAME];
GetPlayerName(playerid,botname, sizeof(botname));
if(!strcmp(botname, "Lucky", true))
{
SpielerInfo[playerid][pLogIn] = 1;
SetPlayerSkin(playerid,177);
PutPlayerInVehicle(playerid,imbisswagen[0],0);
return 1;
}
if(!strcmp(botname, "Lucky2", true))
{
SpielerInfo[playerid][pLogIn] = 1;
SetPlayerSkin(playerid,177);
PutPlayerInVehicle(playerid,imbisswagen[1],0);
}
}
Alle Datein sind vorhanden warum Spawnen Sie trotzdem nicht ?
Kann mir jemand ein beispiel für eine Abfrage schicken ob sich drei leute an einen gewissen ort befinden wenn Sie einen Befehl eingebeN ?
Oder du machst einfach eine Schleife durch alle Spieler und schaust ob diese Spieler an diesem Punkt sind.
Und wie kann ich diese durchzählen ?
Kann mir jemand ein beispiel für eine Abfrage schicken ob sich drei leute an einen gewissen ort befinden wenn Sie einen Befehl eingebeN ?
ocmd:sz(playerid,params[])
{
if(SpielerInfo[playerid][pLogIn] == 1)
{
if(SpielerInfo[playerid][pFraktion] == 1)
{
new string[300],grund[150],variable,wert,pid,zahlname[64];
switch(variable)
{
case 1:{zahlname="Barzahlung";}
case 2:{zahlname="Kartenzahlung";}
}
if(sscanf(params,"iiis",pid,wert,variable,grund))return SendClientMessage(playerid,ROT,"/sz [ID] [Wert] [(1)Barzahlen | (2)Kartenzahlung] [Grund]");
format(string,sizeof(string),"Officer %s hat die einen Strafzettel in Höhe von %i$ gegeben Grund: %s. Zahlungsart: %s", SpielerName(playerid),wert,grund,zahlname);
SendClientMessage(pid,BLAU,string);
SendClientMessage(playerid,BLAU,"Du hast einen Strafzettel ausgestellt.");
SetPVarInt(pid,"StrafZettel",wert);
SetPVarInt(pid,"StrafZettelArt",variable);
return 1;
}
else
{
SendClientMessage(playerid,ROT,"Du bist kein Mitglied des Fort Carson Sherrif Departments.");
return 1;
}
}
else
{
SendClientMessage(playerid,ROT,"Du bist nicht Eingeloggt.");
return 1;
}
}
Wenn der Spieler 1 ein gibt soll Barzahlung wiedergeben werden wenn der Speiler zwei eingibt soll Kartenzahlung wiedergegeben werden
Hey Leute, möchte das dieser String folgendes wiedergibt.
String:
format(string,sizeof(string),"Officer %s hat die einen Strafzettel in Höhe von %i$ gegeben Grund: %s. Zahlungsart: %s", SpielerName(playerid),wert,grund,zahlname);
Er soll bei zahlname einer dieser beiden Optionen wiedergeben:
switch(variable)
{
case 1:{zahlname="Barzahlung";}
case 2:{zahlname="Kartenzahlung";}
}
Warum funktioniert das ganze nicht ?
Damit gibst du nur aus das das Objekt an der Position texturiert ist. Du musst noch mal normal createobjekt machen
Dann sind es aber zwei Objekte wenn Ich es nochmal extra erstelle dann sind zwei zäune ineinander.
Es wird doch erstellt & Textoriert SetObjectMaterial(CreateObject
Habe diese Wie folgt bei OnGameModeInit erstellt:
fdtor[0] = SetObjectMaterial(CreateObject(2957, -257.95999, 1210.00000, 20.37000, 0.00000, 0.00000, 0.00000), 0, 11008, "firehouse_sfse", "ws_rollerdoor_fire", 0xFFFFFFFF);
fdtor[1] = SetObjectMaterial(CreateObject(2957, -251.85001, 1210.00000, 20.37000, 0.00000, 0.00000, 0.00000), 0, 11008, "firehouse_sfse", "ws_rollerdoor_fire", 0xFFFFFFFF);
fdtor[2] = SetObjectMaterial(CreateObject(2957, -245.74001, 1210.00000, 20.37000, 0.00000, 0.00000, 0.00000), 0, 11008, "firehouse_sfse", "ws_rollerdoor_fire", 0xFFFFFFFF);
Und dann diesen Code geschrieben wenn man die Taste H Ingame drückt.
if(IsPlayerInRangeOfPoint(playerid,6,-257.95999, 1210.00000, 20.37000))
{
if(GetPVarInt(Server1,"fdtor1") == 0)
{
MoveObject(fdtor[0],-257.95999, 1210.00000, 20.37000-3.5,0.50);
SetPVarInt(Server1,"fdtor1",1);
SendClientMessage(playerid,GRÜN,"Fire Department Tor 1 geöffnet.");
return 1;
}
if(GetPVarInt(Server1,"fdtor1") == 1)
{
MoveObject(fdtor[0],-257.95999, 1210.00000, 20.37000,0.50);
SetPVarInt(Server1,"fdtor1",0);
SendClientMessage(playerid,GRÜN,"Fire Department Tor 1 geschlossen.");
return 1;
}
}
if(IsPlayerInRangeOfPoint(playerid,6,-251.85001, 1210.00000, 20.37000))
{
if(GetPVarInt(Server1,"fdtor2") == 0)
{
MoveObject(fdtor[1],-251.85001, 1210.00000, 20.37000-3.5,0.50);
SetPVarInt(Server1,"fdtor2",1);
SendClientMessage(playerid,GRÜN,"Fire Department Tor 2 geöffnet.");
return 1;
}
if(GetPVarInt(Server1,"fdtor2") == 1)
{
MoveObject(fdtor[1],-251.85001, 1210.00000, 20.37000,0.50);
SetPVarInt(Server1,"fdtor2",0);
SendClientMessage(playerid,GRÜN,"Fire Department Tor 2 geschlossen.");
return 1;
}
}
if(IsPlayerInRangeOfPoint(playerid,6,-245.74001, 1210.00000, 20.37000))
{
if(GetPVarInt(Server1,"fdtor3") == 0)
{
MoveObject(fdtor[2],-245.74001, 1210.00000, 20.37000-3.5,0.50);
SetPVarInt(Server1,"fdtor3",1);
SendClientMessage(playerid,GRÜN,"Fire Department Tor 3 geöffnet.");
return 1;
}
if(GetPVarInt(Server1,"fdtor3") == 1)
{
MoveObject(fdtor[2],-245.74001, 1210.00000, 20.37000,0.50);
SetPVarInt(Server1,"fdtor3",0);
SendClientMessage(playerid,GRÜN,"Fire Department Tor 3 geschlosen.");
return 1;
}
}
Warum gehen nun die Tore nicht runter ?
Hey Leute,
wie kann ich Befehle von diesen Abfragen ausklammern ?
public OnPlayerCommandText(playerid, cmdtext[])
{
if(SpielerInfo[playerid][pPrisonTime] >= 1)
{
SendClientMessage(playerid,ROT,"Du kannst im Prison keine Befehle nutzen.");
return 1;
}
if(SpielerInfo[playerid][pJailTime] >= 1)
{
SendClientMessage(playerid,ROT,"Du kannst im Knast keine Befehle nutzen.");
return 1;
}
return SendClientMessage(playerid,GRAU,"Dieser Befehl exestiert nicht.");
}
Heißt es sollen zwei Befehle sein Die NICHT davon betroffen sind, sondern die machen auch im Knast und im Prison nutzen kann.
Ich möchte nicht in jedem Befehl noch eine Abfrage drinne haben.
Alles anzeigenProbier mal die lange Zeile in mehrere Zeilen aufzuteilen:
PAWN Quelltext
1
2
format(AllString,sizeof(AllString),"{00AFFF}Account \n{D9CCD9}Name: %s Geschlecht: Platzhalter Alter: Platzhalter Level: %i \nStatus: Platzhalter Respektpunkte: %i/%i Zeit bis PayDay: %i Spielzeit: Platzhalter\nWarns: %i PrisonTime: %i Sekunden Adminlevel: %s \n\n\n{00AFFF}Fraktion \n{D9CCD9}Fraktion: %s Rang: %s Leader: %s Gehalt: %i",
SpielerName(playerid),SpielerInfo[playerid][pLevel],SpielerInfo[playerid][pPoints],SpielerInfo[playerid][pLevel]+1,SpielerInfo[playerid][pZeit],SpielerInfo[playerid][pWarn],SpielerInfo[playerid][pPrisonTime],AdminName(playerid),FraktionName(playerid),GetRang(playerid),LeaderName(playerid),GetRangLohn(playerid));
Ich muss aber die obere Zeile aufteilen die in gänsefüßchen ist , und das geht leider nicht
Hey,
Ich habe das Problem das in meinen Stats Befehl sehr lang ist.
Mein String ist groß genug aber die Linie ist zu lang und kann nicht verarbeitet werden.
Wie kann Ich es machen
format(AllString,sizeof(AllString),"{00AFFF}Account \n{D9CCD9}Name: %s Geschlecht: Platzhalter Alter: Platzhalter Level: %i \nStatus: Platzhalter Respektpunkte: %i/%i Zeit bis PayDay: %i Spielzeit: Platzhalter\nWarns: %i PrisonTime: %i Sekunden Adminlevel: %s \n\n\n{00AFFF}Fraktion \n{D9CCD9}Fraktion: %s Rang: %s Leader: %s Gehalt: %i",SpielerName(playerid),SpielerInfo[playerid][pLevel],SpielerInfo[playerid][pPoints],SpielerInfo[playerid][pLevel]+1,SpielerInfo[playerid][pZeit],SpielerInfo[playerid][pWarn],SpielerInfo[playerid][pPrisonTime],AdminName(playerid),FraktionName(playerid),GetRang(playerid),LeaderName(playerid),GetRangLohn(playerid));
D:\Spiele\server\gamemodes\SFRP.pwn(1075) : error 075: input line too long (after substitutions)
wie kann ich diesen Verkürzen da noch viel ran kommen soll eigentlich wie kann ich die Spanne verkleinern also das was in den Gänsefüßen steht
Habe das Problem das bei meinem PayDay, nur ID0 die Zeit runtergezählt wird.
Wiefolgt gescriptet:
SetTimer("SekundenTimer",1000,true);
forward SekundenTimer(playerid);
public SekundenTimer(playerid)
{
if(GetDesyncTime(playerid) >= 3000)
{
return 1;
}
SpielerInfo[playerid][pZeit] = SpielerInfo[playerid][pZeit]-1;
if(SpielerInfo[playerid][pZeit] == 0)
{
new string[358],string1[358];
new Rechnung = GetRangLohn(playerid)/100;
SendClientMessage(playerid,WEIS,"|-----[Zahltag]-----|");
SendClientMessage(playerid,WEIS,"");
format(string,sizeof(string)," + Gehalt: %i$ \n + Zinsen %i$ (%i Prozent) \n - Steuern: %i$ (%i Prozent)",GetRangLohn(playerid),Rechnung*Server[Zinsen],Server[Zinsen],Rechnung*Server[Steuern],Server[Steuern]);
SendClientMessage(playerid,WEIS,string);
SendClientMessage(playerid,WEIS,"------------------------------------");
format(string1,sizeof(string1),"Du erhälst: %i$",GetRangLohn(playerid));
SendClientMessage(playerid,WEIS,"-> 1 Respektpunkt erhalten!");
SpielerInfo[playerid][pZeit] = 3600;
SpielerInfo[playerid][pPoints] = SpielerInfo[playerid][pPoints]+1;
new Level = SpielerInfo[playerid][pLevel];
if(SpielerInfo[playerid][pPoints] == Level+1)
{
SpielerInfo[playerid][pLevel] = SpielerInfo[playerid][pLevel]+1;
SpielerInfo[playerid][pPoints] = 0;
return 1;
}
}
if(SpielerInfo[playerid][pPrisonTime] >= 1)
{
SpielerInfo[playerid][pPrisonTime] = SpielerInfo[playerid][pPrisonTime]-1;
if(SpielerInfo[playerid][pPrisonTime] == 0)
{
SendClientMessage(playerid,ROT,"Freiheit.");
PlayerSpawn(playerid);
return 1;
}
return 1;
}
if(SpielerInfo[playerid][pJailTime] >= 1)
{
SpielerInfo[playerid][pJailTime] = SpielerInfo[playerid][pJailTime]-1;
if(SpielerInfo[playerid][pJailTime] == 0)
{
SendClientMessage(playerid,ROT,"Freiheit.");
SetPlayerInterior(playerid,0);
SetPlayerPos(playerid,-156.4270,1139.3573,19.7422);
return 1;
}
}
return 1;
}
Ab Sekunde 40. dort wird dir gezeigt ( falls du es nicht hast) wie du angibst ob beim connecten es ein Bot ist.
Sonst schau ich mal morgen früh da ich dies im Halbschlaf grade schreibe ._.
Weiterhin hilfe benötigt
enum ServerDaten
{
Staatskasse,
Float:Zinsen,
Float:Steuern,
Prods
}
new Server[ServerDaten];
new Rechnung = GetRangLohn(playerid)/100;
SendClientMessage(playerid,WEIS,"|-----[Zahltag]-----|");
SendClientMessage(playerid,WEIS,"");
format(string,sizeof(string),"+ Gehalt: %i$ \n+ Zinsen %i$ (%f Prozent) \n- Steuern: %i$ (%f Prozent)",GetRangLohn(playerid),Rechnung*Server[Zinsen],Server[Zinsen],Rechnung*Steuern,Server[Steuern]);
D:\Spiele\server\gamemodes\SFRP.pwn(186) : warning 213: tag mismatch
D:\Spiele\server\gamemodes\SFRP.pwn(186) : warning 213: tag mismatch
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
2 Warnings.
Zitat von »GoldenPawn«
Serverseitigen Streamer plugin erhöht werden
das ist nur bedingt richtig, denn es können schon mehr Objekte erstellt werden, aber nicht an einer Stelle(dh. es können immer nur Max. 1000Objekte gleichzeitig gestreamt werden).
Wie hoch ist denn der Stream bereich ?
Hallo Leute,
Ich habe das Problem das der "Standart" Streamer irgendwie nicht alle Objekte lädt.
Es wird ja gesagt er hat eine grenze von 1.000 Objekten gibt es dort eine ausweichmöglichkeit die Objektanzahl zu erweitern ?