Alt 22.02.2012, 21:21   #1
olaf1
Stadtschreiber
 
Benutzerbild von olaf1
 
Registriert seit: 04.10.2011
Beiträge: 488




Standard Scripten

Guten Abend

ich wollte da mal was zum scripte fragen.

ich das zwarschon Thunder per PM gefragt aber ich denke das interrsirt bestimmt auch noch mehrere.

deshalb wäre es sehr nett wenn du oder auch ein paar anderen mir das hier beantworten würden.

ich wollte da was fragen zu classen:

wenn ich eine classe erstelle brauche ich immer classen_name:__init und classen_name:__finalize?

und was genau gehört den dort alles rein?
oder was kann dort rein und was darf dort überhaupt nicht rein?

Code:
local npc = 

{

mar_clear_sky_respawn_1 = "mar_clear_sky_respawn_1_counter",

mar_clear_sky_respawn_2 = "mar_clear_sky_respawn_2_counter",

mar_clear_sky_respawn_3 = "mar_clear_sky_respawn_3_counter"

	}

local npc_data = 

{

mar_clear_sky_respawn_1 = -61.996055603027, 0.92057931423187, 293.67742919922, game_vertex_id = 3402, level_vertex_id = 106182,

mar_clear_sky_respawn_2 = -51.345394134521, 1.1859278678894, 296.54559326172, game_vertex_id = 3402, level_vertex_id = 114134,

mar_clear_sky_respawn_3 = -51.345394134521, 1.1859278678894, 296.54559326172, game_vertex_id = 3402, level_vertex_id = 114134

}





local npc_respawn_counter =

 {

mar_clear_sky_respawn_1_counter = 3,

mar_clear_sky_respawn_2_counter = 5,

mar_clear_sky_respawn_3_counter = 2	

}

class "Respwan_NPC"

function Respwan_NPC:__init()
end

function Respwan_NPC:__finalize()
end

function Respwan_NPC:Tabels_uberprufen()
	local npc_tabel = npc
	local npc_data_tabel = npc_data
	local npc_respawn_counter_tabel = npc_respawn_counter
	for k,v in pairs(npc_tabel)do
	end
	for k,v in pairs(npc_data_tabel)do
	end
	for k,v in pairs(npc_respawn_counter_tabel)do
	end
end

könnte ich in den beiden Haupt classen schon die tabels vorgeben wenn ja wie kann ich sie den abrufen mit self oder muss ich sie in jeder einzelden function neu einbinden?

nechste frage:

wenn ich sagen wir mal oben im beispiel k und v zu weißen gilt es ja nicht für alle function oder?

dann könnte ich doch wenn ich sage wenn beides über einstimmt das ich eine neu function starte oder wäre es zu kompliziert?

jedoch brauche ich eine Varriavble die in allen functionich benutzen kann das geht ja vorher indem ich local benutze for der class und wenn ich dann in einer der function sie um ändere und eine andere function überprüpft ob diese Varriabel zu einer anderen Varriablen größer ist wird das dann übernohemn also z.B.(ist ja sehr kompliziert geschireben habe einfach nicht die passenden Worte dafür gefunde zeige es dir besser an einem Beispiel)

also den timer
Code:
local counter_im_script = 0
wird in diser function überpruft ob er großer ist oder kleiern ist zu einer Varriablen

Code:
		for k,v in pairs(npc)do 
			respawn_npc_name(k)
			respawn_counter_name(v)
		end
		counter_im_script = respawn_npc_name.."_counter"
		self.counter_im_script = 0
		for k,v in pairs(npc_respawn_counter)do 
				if k == respawn_counter_name then
				respawn_counter(v)
			end    
		end

		for k,v in pairs(npc_spawn_data)do 
			if k == respawn_npc then
				if counter_im_script < respawn_counter then
				respawn_npc_point(v)
				else 
				return
				end					
			end
		end
end
das sihst du ja oder?

Code:
for k,v in pairs(npc_spawn_data)do 
			if k == respawn_npc then
				if counter_im_script < respawn_counter then
				respawn_npc_point(v)
				else 
				return
				end					
			end
		end
end
so und hier wird sie umgeändernt 2 mal
Code:
function Respawn_NPC:Spawn_NPC(respawn_counter_ltx, respawn_npc_point)
	if respawn_timer_a == true then
		if respawn_timer == 0 then
			if not respawn_counter and not respawn_npc_point then
				return false
			end
		end
		self.respawn_npc_tabel = {}
		if npc_respawn_counter < respawn_counter then
			self.spwan = alife():create(respawn_npc, vector():set(respawn_npc_point))
			counter_im_script = counter_im_script + 1
			respawn_npc_tabel[spwan.id] = true
		end
    end
end




function Respawn_NPC:Counter(respawn_npc_tabel)
if not respawn_npc_tabel then
	return false
end
local obj,count,tbl_cnt = nil,0,#respawn_npc_tabel 
for k,v in pairs(respawn_npc_tabel)do
obj = alife():object(k)
if obj == nil then
v = nil 
counter_im_script = counter_im_script - 1  
end
end
if counter_im_script < respawn_counter  then
		respawn_timer = false 
    	respawn_timer = 0   
	end
end
end

genau dort

Code:
counter_im_script = counter_im_script + 1
Code:
counter_im_script = counter_im_script - 1
so ich hoffe du versteht was ich mein ist das für immer?

so und wenn ich das sage für mehrer varribalen also wenn ich vorher .. gemacht habe und sie damit verbunden habe also mit einer Varriablen ist das immer der selbe Counter oder ist der immer anders da ja die Varriable auch immer anders heißt?


danke schon mal.
__________________

(made by PeriodsofLife)

The Green Zone
olaf1 ist offline   Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.



Alle Zeitangaben in WEZ +2. Es ist jetzt 06:06 Uhr.


Powered by vBulletin® Version 3.8.6 (Deutsch)
Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.
Copyright ©2009 OnlineWelten GmbH | All Rights Reserved