Ja, eigentlich schon. Ich hab es da gemacht wo mein alter "/Heal" war.
Du sollst es ja nicht Kopieren da Lernst du nichts draus Du sollst es dir anschauen und es dann selber so machen....
Das ja kein C&P Forum
Ja, eigentlich schon. Ich hab es da gemacht wo mein alter "/Heal" war.
Du sollst es ja nicht Kopieren da Lernst du nichts draus Du sollst es dir anschauen und es dann selber so machen....
Das ja kein C&P Forum
So funktionierts auch, allerdings kann er nun nur noch in Häuser heilen.
MfG
Das will Er ja auch!!!!
Ich hab es eingefügt, wen ich es Compile, schmiert mein Compiler ab.
Du hast einen Fehler drine musst halt die Klammern selber einfügen Ich habs dir gerade so mit Editor gemacht also musst dein zeug anpassen....
bzw. Einrücken
k4bix, soll ich jetzt new IsInBiz; machen`?
if(strcmp(cmd, "/heal", true) == 0)
{
if(IsPlayerConnected(playerid))
{
tmp = strtok(cmdtext, idx);
GetPlayerName(playerid, sendername, sizeof(sendername));
new location = PlayerInfo[playerid][pLocal];
if(!strlen(tmp))
{
if(location != 999)
{
if(location < 254)
{
if(HouseInfo[location][hHel] == 1)
{
new Float:tempheal;
GetPlayerHealth(playerid,tempheal);
if ( tempheal < 100.0)
{
SetPlayerHealth(playerid,100.0);
PlayerPlaySound(playerid, 1150, 0.0, 0.0, 0.0);
format(string, sizeof(string), "* %s hat sich geheilt",sendername);
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
}
else
{
format(string, sizeof(string), "* %s hat sich geheilt",sendername);
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
}
}
else
{
format(string, sizeof(string), "Dieses Haus hat kein Heal Upgrade.");
SendClientMessage(playerid, TEAM_GREEN_COLOR,string);
}
if(HouseInfo[location][hArm] == 1)
{
SetPlayerArmour(playerid,100.0);
PlayerPlaySound(playerid, 1150, 0.0, 0.0, 0.0);
format(string, sizeof(string), "* %s hat sich eine rüstung angezogen.",sendername);
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
}
else
{
format(string, sizeof(string), "Dieses Haus hat kein Armor Upgrade.");
SendClientMessage(playerid, TEAM_GREEN_COLOR,string);
}
return 1;
}
}
}
}
}
So in der Art....
Gruß
Alles anzeigenWen ich das Wegmache bekomm ich errors
C:\Users\Anastasia\Desktop\desktop 2\FoR - Script\gamemodes\Release.pwn(30001) : error 017: undefined symbol "IsInBiz"
C:\Users\Anastasia\Desktop\desktop 2\FoR - Script\gamemodes\Release.pwn(30001) : warning 215: expression has no effect
C:\Users\Anastasia\Desktop\desktop 2\FoR - Script\gamemodes\Release.pwn(30001) : error 001: expected token: ";", but found "]"
C:\Users\Anastasia\Desktop\desktop 2\FoR - Script\gamemodes\Release.pwn(30001) : error 029: invalid expression, assumed zero
C:\Users\Anastasia\Desktop\desktop 2\FoR - Script\gamemodes\Release.pwn(30001) : fatal error 107: too many error messages on one line
Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
4 Errors.
'Du hast es halt nicht im Script drine dann Lösch das zeug und Fertig....
Alles anzeigenLeute, leute...denkt doch mal bitte nach.
Entfern einfach die "//" bei folgende Zeilen.
MfG
Die frage war eig ja anders "Warum man überall Healen kann" diese haben Wir beantwortet das mit dem Haus muss man wissen wie Er seine Heuser Definiert hat....
Kann man das nicht irgentwie machen, das man nur in den Häusern den Befehl schreiben kann? bzw. location
new house = Spieler[playerid][Hauskey];
if(house < 255)
Ist aber bei allen anders Also das ist jetzt bei mir so Gemacht Oo
Soll ich etwa in alle Häusern gehen und /Save schreiben?
Ich kenn dein Haussystem nicht aber wen du keine andere Möglichkeiten hast musst du es Wohl so Safen ....
Ich habs bei mir so Gesavt
Zitatja wenn du es so machen möchtest wäre das ratsam, da es meiner Meinung nach nicht anders Funktioniert.
JA wen Er ein Haus-System hast dann geht es anders Wen Er es so macht dann muss Er alles Saven und halt else if nutzen....
Alles anzeigenDream ich habe 1 Error.
C:\Users\Anastasia\Desktop\desktop 2\FoR - Script\gamemodes\Release.pwn(30041) : warning 213: tag mismatch
C:\Users\Anastasia\Desktop\desktop 2\FoR - Script\gamemodes\Release.pwn(30041) : error 017: undefined symbol "x"
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
1 Error.
Zeile
if(IsPlayerInRangeOfPoint(playerid,Radius,x,y,z))
Da musst du deine Daten einfügen in Welchen Koordinaten Es gehen soll
Du gehst zu dem Punkt wo es Funktionieren soll machst /save Healpoint...
und dann in deinen GTA Daten die Cordis heraussuchen und Einfügen....
Gruß
Dream
Kannst du bitte es mit PWN einfügen?
Hab es dir gemacht, Also eingereit undso Musst nur deine Kordis und den Raius machen...
Gruß
Dream
Mach eine abfrage rein If(IsPlayerInRage....
if(strcmp(cmd, "/heal", true) == 0)
{
if(IsPlayerInRangeOfPoint(playerid,Radius,x,y,z))
{
if(IsPlayerConnected(playerid))
{
tmp = strtok(cmdtext, idx);
GetPlayerName(playerid, sendername, sizeof(sendername));
new location = PlayerInfo[playerid][pLocal];
if(!strlen(tmp))
{
if(location != 999)
{
if(location < 254)
{
if(HouseInfo[location][hHel] == 1)
{
new Float:tempheal;
GetPlayerHealth(playerid,tempheal);
if ( tempheal < 100.0)
{
SetPlayerHealth(playerid,100.0);
PlayerPlaySound(playerid, 1150, 0.0, 0.0, 0.0);
format(string, sizeof(string), "* %s hat sich geheilt",sendername);
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
}
else
{
format(string, sizeof(string), "* %s hat sich geheilt",sendername);
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
}
}
else
{
format(string, sizeof(string), "Dieses Haus hat kein Heal Upgrade.");
SendClientMessage(playerid, TEAM_GREEN_COLOR,string);
}
if(HouseInfo[location][hArm] == 1)
{
SetPlayerArmour(playerid,100.0);
PlayerPlaySound(playerid, 1150, 0.0, 0.0, 0.0);
format(string, sizeof(string), "* %s hat sich eine rüstung angezogen.",sendername);
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
}
else
{
format(string, sizeof(string), "Dieses Haus hat kein Armor Upgrade.");
SendClientMessage(playerid, TEAM_GREEN_COLOR,string);
}
return 1;
}
//else if(location == 101 && IsInBiz[playerid] == 1)//Restaurant
{
new Float:tempheal;
GetPlayerHealth(playerid,tempheal);
if ( tempheal < 100.0)
{
SetPlayerHealth(playerid,100.0);
PlayerPlaySound(playerid, 1150, 0.0, 0.0, 0.0);
format(string, sizeof(string), "* %s hat sich geheilt",sendername);
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
}
else
{
SendClientMessage(playerid, TEAM_GREEN_COLOR,"Du hast bereits 100Hp");
}
}
//else if(location == 102 && IsACop(playerid))//Police Armoury
{
SetPlayerHealth(playerid,100.0);
SetPlayerArmour(playerid,100.0);
format(string, sizeof(string), "* %s legt die Schutzweste an.", sendername);
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
TogglePlayerControllable(playerid,0);
GetPlayerPos(playerid, Unspec[playerid][sPx], Unspec[playerid][sPy], Unspec[playerid][sPz]);
Unspec[playerid][sPint] = PlayerInfo[playerid][pInt];
Unspec[playerid][sLocal] = PlayerInfo[playerid][pLocal];
SetPlayerPos(playerid,1527.5,-12.1,1002.0);
PlayerInfo[playerid][pLocal] = 999;
SetPlayerInterior(playerid,99);
Spectate[playerid] = 257;
}
}
else
{
SendClientMessage(playerid, COLOR_GRAD2, "Benutze: /heal [ID/NAME] [Preis]");
}
}
else
{
SendClientMessage(playerid, COLOR_GRAD2, "Du kannst hier nicht Healen");
return 1;
}
}
So müsste es funktionieren
Check diesen Server: rpg-city.de
Viel zu schlechter Root für so viele Leute Der Server ist Total Laggy
Dafür ist der Respawntyp 14 da
So wie Du es geschrieben hast würde Es aber nicht Funktionieren bzw. Der Pickup wäre weck wen Er einmal durchfährt.
Also die Funktion wäre nur 1 mal da.
Alles anzeigen
new pickup;
OnGameModeInit
pickup=CreatePickup(3096,14,1599.4000244141,-1623.0,14.300000190735,-1);
OnPlayerPickupPickup
if(pickupid==pickup)
{
if(Abfrage ob das ein Cop // FBI ist)
{
RepairVehicle(GetPlayerVehicleID(playerid));
SetVehicleHealth(GetPlayerVehicleID(playerid,1000);
}
}
Kann nicht Funktionieren da Es abfragt ob playerid im pickup ist aber Er sitzt ja im Car
//.e
Es würde so Funktionieren
OnGameModeInit
pickup=CreatePickup(3096,14,1599.4000244141,-1623.0,14.300000190735,-1);
forward copfix(playerid);
OnGameModeInit
SetTimer("copfix",5000,1);
Unten im Script
public copfix(playerid)
{
if(IsPlayerInRangeOfPoint(playerid,5.0,1599.4000244141,-1623.0,14.300000190735
))
{
if(Deine Cop Abfrage)
{
new vID = GetPlayerVehicleID(playerid);
if(IsPlayerInAnyVehicle(playerid))
{
SetVehicleHealth(vID, 1000);
SendClientMessage(playerid, COLOR_GRAD2, "Fahrzeug repariert.");
}
else
{
SendClientMessage(playerid, COLOR_RED, "Du bist in keinem Fahrzeug.");
return 1;
}
}
else
{
SendClientMessage(playerid, COLOR_WHITE,"Du bist kein Polizist oder Agent!");
}
}
return 1;
}
Gruß
Dream
50€? In welcher Welt lebst du?
Für sowas würde ich maximal 10 Euro ausgeben...
Da steht doch VERHANDELBAR!
Also warum so rumheulen?
Alles anzeigenViel Spaß.
Spoiler anzeigen new adtimer;
Spoiler anzeigen if(!strcmp(cmd, "/advertise", true) || !strcmp(cmd, "/ad", true))
{
if(IsPlayerConnected(playerid))
{
if(Spieler[playerid][Level] < 2)
return SendClientMessage(playerid, COLOR_GRAD2, "Du brauchst Level 2 oder höher um Werbung machen zu können.");
if(Spieler[playerid][Muted] == 1)
return SendClientMessage(playerid, COLOR_LIGHTRED, "Du bist gemutet.");
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= ' '))
idx++;
new offset = idx,
result[128],
string[128];
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
{
result[idx - offset] = cmdtext[idx];
idx++;
}
result[idx - offset] = EOS;
if(!strlen(result))
return SendClientMessage(playerid, COLOR_GRAD2, "FEHLER: /(ad)vertise [Werbung]");
if(Spieler[playerid][Admin] < 1 && adtimer >= gettime())
{
format(string, sizeof(string), "Bitte warte noch %i Sekunden für die Nächste Werbung!", adtimer-gettime());
return SendClientMessage(playerid, COLOR_GRAD2, string);
}
new payout = idx * 250;
if(GetPlayerMoney(playerid) < payout)
{
format(string, sizeof(string), "* Zeichen [%d] Preis [$%d] - Besorge den Preis und es wird Werbung geschaltet!", offset, payout);
return SendClientMessage(playerid, COLOR_GRAD1, string);
}
format(string, sizeof(string), "Werbung: %s, %s (Ph: %d)", result, SpielerName(playerid), Spieler[playerid][Nummer]);
SendClientMessageToAll(COLOR_AD_GREEN, string);
printf("Werbung von %s: %s", SpielerName(playerid), result);
format(string, sizeof(string), "* Zeichen [%d] Preis [$%d] - Werbung erfolgreich abgesendet.", offset, payout);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
adtimer = gettime() + 60; // 60 = Sekunden!
}
return 1;
}
Da verstehe ich gar nicht, warum man den armen Server mit Timern belasten möchte
![]()
Der kann da doch auch nichts für
Ja.
Ich hab dein Script im ersten Post genommen und umgeschrieben.
Wie du das bei dir kopiert hattest weiß ich nicht![]()
Du willst also sekündlich dem ganzen Server anzeigen, wann man wieder Werbung machen kann?
Ist das nicht ein bisschen nervig?
Lieber nen Textdraw vielleicht, wo runtergezählt wird
NE xD Wollte es Genauso wie Du es Gepostet hast Danke dir
Alles anzeigen
"Werbung" existiert nicht in meinem Script
gettime() == Unix Timestamp.
So jetzt habe ich den von Anfang an auf 0 (Server Start).
Jetzt macht jemand Werbung, jetzige Zeit ist nicht größer als 0.
D.h. ich kann Werbung machen.
Werbungszeit wird auf jetzt + 60 Sekunden gesetzt.
Mache ich wieder Werbung, ist der adtimer ja in der Zukunft (größer als gettime()).
Also kann ich keine machen.
Nachdem die jetzt Zeit wieder höher ist (automatisch nach 60 Sekunden) kann ich Werbung machen.
Wieso ist das also falsch
Also alles Löschen und new adtimer und das von dir einfügen oder?
Alles anzeigenHeyy DreamLife, du machst doch
SetTimer("Werbung",60000,1);
Versuch es mal mit:
forward Werbung();
new adtimer;
SetTimer("Werbung",1000*60*1,true);
public Werbung()
{
if(adtimer <= 60)
{
adtimer --;
}
if(adtimer < 0)
{
adtimer = 0;
}
}
Das ist genau gleich also Man kann nur alle 60 Sec werbung schreiben aber Ich will das da steht noch 60 noch 59 58 57... Sec bis nächste werbung...
60000 ms ( 60 Sekunden -> 1Min , SetTimer() ) * 60 Aufrufe bis wieder neue Werbung erlaubt ist, sind 60 Minuten.
Was Lol Ich check nix was du damit meinst
Ja Ich hab halt am ende Den Timer nicht gehabt....
Jetzt hab Ich
SetTimer("Werbung", 60000, 1);
adtimer=60;
aber Es Funktioniert man kann nur alle 60 sec Werbung machen Naja Da steht halt Werbung nur alle 60 sec Möglich auch wens nurnoch 1 Sec ist
Hast du eigentlich meinen Post zuende gelesen ?
Ja hab den Timer eingefügt aber hat nicht Wirklich Funktioniert...
Das kein Geld abgezogen wird liegt daran, dass Du sie auch nicht abziehst. Da ich nicht weiß, wie das Geld bei dir definiert ist, kann ich Dir das nicht sagen.
Kann ja auch schlecht funktioniere. Ich mein wenn Du den Timer auch immer in den negativen Bereich zählen lässt.
Wie lange soll den keine "/ad" geschrieben werden können?
60 Sec Lang also 1 minute